matlab进行图像处理之后,很多时候需要在图像上画出矩形框;如,调用matlab的某个检测函数,得到结果之后,往往需要将检测结果的矩形框画在图像上,直观、方便的进行查看;下面的代码就是这个目的:
function [state,result]=draw_rect(img,startPosition,windowSize,showOrNot)
% 函数调用:[state,result]=draw_rect(img,startPosition,windowSize,showOrNot)
% 函数功能:在图像画个长方形框
% 函数输入:img为原始的大图,可为灰度图,可为彩色图
% startPosition 框的左上角在大图中的坐标(每行代表x,y坐标),startPosition=[10,30],分别表示x,y为10,30
% windowSize 框的大小 windowSize=[112,92] 分别表示宽、高
% showOrNot 是否要显示结果?默认为显示出来?
% 函数输出:state -- 表示程序结果状态?
% result - 结果图像数据
if nargin < 4
showOrNot = 1;
end
rgb = [255 0 0]; % 边框颜色
lineSize = 3; % 边框大小,取1,2,3
windowSize(1,1)=windowSize(1,1);
windowSize(1,2) = windowSize(1,2);
if windowSize(1,2) >