Например, я запускаю свою программу следующим образом, читая какое-то изображение:
I=input('image name: ','s');
img=double(imread(I));
Я планирую работать только с некоторой частью этого изображения. Итак, я заметил, что мне может понадобиться h=imfreehand
для этой цели.
Таким образом, я вставил h=imfreehand
под двумя строками выше. Что у меня получилось, так это белый экран. Итак, как я могу получить изображение и выбрать нужный регион? Другое дело, как я могу заставить свою программу работать только с тем регионом, который я выбрал?
Спасибо.
ОБНОВЛЕНИЕ
Я сделал следующее в части моего кода:
figure, imshow(img);
h = imfreehand;
position = wait(h);
% post processing
se=strel('disk',3);
erosion=imerode(h,se);
result_image=imsubtract(h,erosion);.
Но я получил следующую ошибку:
Error using imerode
Expected input number 1, IM, to be one of these types:
numeric, logical
Instead its type was imfreehand.
Error in morphop>CheckInputImage (line 335)
validateattributes(A, {'numeric' 'logical'}, {'real' 'nonsparse'}, ...
Error in morphop>ParseInputs (line 166)
A = CheckInputImage(A, func_name);
Error in morphop (line 14)
[A,se,pre_pad,...
Error in imerode (line 123)
B = morphop(A,se,'erode',mfilename,varargin{:});
Error in program (line 155)
erosion=imerode(h,se);
Это связано с erosion
? Что можно сделать в этом случае?
`
doc imfreehand
или mathworks.se/help/images/ref/imfreehand.html< /а> - person Buck Thorn   schedule 01.08.2013