CODE:
hf = figure(1);
A = imread('board.tif');
A = rgb2gray(A); %-此句注释后下面的处理就相当于对真彩色图像进行
imshow(A)
rect = getrect(hf);
w = round(rect(3));
h = round(rect(4));
if w >= 1 & h >= 1
r = [rect(1),rect(1)+w,rect(1)+w,rect(1);rect(2),rect(2),rect(2)+h,rect(2)+h];
rectangle('Position',[rect(1),rect(2),w,h], 'edgecolor','red');
figure(2);
bw = roipoly(A,r(1,:),r(2,:));
AA = reshape(A, [(size(A,1)*size(A,2)), size(A,3)]);
BB = AA(bw, :);
B = reshape(BB, [h, w, size(A,3)]);
imshow(B);
end
用法:运行程序后,在图象任意一个地方点击鼠标左键,确定矩形左上角的坐标点,然后拖动(即之前的点击按住不放)选择感兴趣的区域,最后放手,此时矩形右下角的坐标点就确定下来了。
2. 任意曲线区域
CODE:
clear all
A = imread('board.tif');
A = rgb2gray(A); %-此句注释后下面的处理就相当于对真彩色图像进行
figure(1)
imshow(A);
%[a,b] = ginput;