Я создаю закрытую область на картинке на impoly('Closed', true)
и, наконец, после маркировки области для маски BW = createMask(h)
в командной строке Matlab. Начальные команды, прежде чем маркировка точек для маски на рисункеПрименение функции через маску на изображении
imshow('contour.png');
h = impoly('Closed',true);
Здесь я использовал ответ nkjt в ниже. Картина быть отфильтрованы с помощью функции conditionalRemoval (изображение, область)
Затем я бегу
image = imread('contour.png');
areaLazyRemoval = BW;
image = conditional_removal(image, areaLazyRemoval);
теперь у меня есть mask и картину. Я должен применить функцию conditional_removal к ним.
Как вы можете использовать эту маску сейчас и применить к ней функцию в отмеченной области?
Моя функция conditional_removal «ы псевдокод
function [ image ] = conditional_removal(image, areaLazyRemoval)
% dim image 794 x 1001 x 3 uint
% dim areaLazyRemoval 794 x 1001 logical
image(:,:,1) .* areaLazyRemoval; % TODO wrong operator here!
% all pixels marked by logical ones in areaLazyRemoval should get lazyRemoval applied
% else greedyRemoval so zero
%
end
%%%%%%%%%%%%%%%%%%%%%%%
% lazy removal function
% so remove by 50% chance the thing
function pixel = lazyRemoval(pixel)
if randn > 0
pixel = 0;
end
% TODO how to apply pixel-wise removal to the logical matrix and image?
Как вы можете применить пиксель-накрест удаление к изображению с помощью логической матрицы, маска?
Вам необходимо передать данные в 'createfigure', чтобы построить его. Что такое код для 'createfigure'? – Daniel
@ DanielR Это одно: https://dl.dropboxusercontent.com/u/62073194/createfigure.m –
Я представил пример SSCCE проблемы, так что вы можете воспроизвести проблему. В настоящее время существует минимальная картина проблемы, код, как она создается, код, как она используется, и Ошибка. –