转自:http://blog.csdn.net/majinlei121/article/details/52334171
加方框函数
- function I_rgb = DrawRectangle(I, LeftUpPoint, RightBottomPoint,LineWidth)
- % example I_rgb = ShowEnlargedRectangle(I, [10,20], [50,60], 1)
-
- if size(I,3)==1
- I_rgb(:,:,1) = I;
- I_rgb(:,:,2) = I;
- I_rgb(:,:,3) = I;
- else
- I_rgb = I;
- end
-
- if ~exist('LineWidth','var')
- LineWidth = 1;
- end
-
- UpRow = LeftUpPoint(1);
- LeftColumn = LeftUpPoint(2);
- BottomRow = RightBottomPoint(1);
- RightColumn = RightBottomPoint(2);
-
- % 上面线
- I_rgb(UpRow:UpRow + LineWidth - 1,LeftColumn:RightColumn,1) = 255;
- I_rgb(UpRow:UpRow + LineWidth - 1,LeftColumn:RightColumn,2) = 0;
- I_rgb(UpRow:UpRow + LineWidth - 1,LeftColumn:RightColumn,3) = 0;
- % 下面线
- I_rgb(BottomRow:BottomRow + LineWidth - 1,LeftColumn:RightColumn,1) = 255;
- I_rgb(BottomRow:BottomRow + LineWidth - 1,LeftColumn:RightColumn,2) = 0;
- I_rgb(BottomRow:BottomRow + LineWidth - 1,LeftColumn:RightColumn,3) = 0;
- % 左面线
- I_rgb(UpRow:BottomRow,LeftColumn:LeftColumn + LineWidth - 1,1) = 255;
- I_rgb(UpRow:BottomRow,LeftColumn:LeftColumn + LineWidth - 1,2) = 0;
- I_rgb(UpRow:BottomRow,LeftColumn:LeftColumn + LineWidth - 1,3) = 0;
- % 右面线
- I_rgb(UpRow:BottomRow,RightColumn:RightColumn + LineWidth - 1,1) = 255;
- I_rgb(UpRow:BottomRow,RightColumn:RightColumn + LineWidth - 1,2) = 0;
- I_rgb(UpRow:BottomRow,RightColumn:RightColumn + LineWidth - 1,3) = 0;
-
- end
调用
- clear
-
- I = imread('lena.png');
-
- I1 = DrawRectangle(I,[100,100],[200,200]);
- % figure;imshow(I);
- figure;imshow(I1);
- imwrite(I1,'lena_labeled.png');
结果图像
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)