论文中图片加方框 matlab代码

时间:2022-12-03 06:31:26

加方框函数

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');
结果图像

论文中图片加方框 matlab代码