matlab 多脸画框,matlab 画框(一)

matlab进行图像处理之后,很多时候需要在图像上画出矩形框;如,调用matlab的某个检测函数,得到结果之后,往往需要将检测结果的矩形框画在图像上,直观、方便的进行查看;下面的代码就是这个目的:

function [state,result]=draw_rect(img,startPosition,windowSize,showOrNot)

% 函数调用:[state,result]=draw_rect(img,startPosition,windowSize,showOrNot)

% 函数功能:在图像画个长方形框

% 函数输入:img为原始的大图,可为灰度图,可为彩色图

% startPosition 框的左上角在大图中的坐标(每行代表x,y坐标),startPosition=[,],分别表示x,y为10,

% windowSize 框的大小 windowSize=[,] 分别表示宽、高

% showOrNot 是否要显示结果?默认为显示出来?

% 函数输出:state -- 表示程序结果状态?

% result - 结果图像数据

showOrNot = ;

end

rgb = [ ]; % 边框颜色

lineSize = ; % 边框大小,取1,,

windowSize(,)=windowSize(,);

windowSize(,) = windowSize(,);

,) > size(img,) ||...

windowSize(,) > size(img,)

state = -; % 说明窗口太大,图像太小,

disp('the window size is larger then image...');

return;

end

result = img;

) ==

:

:size(startPosition,) %矩形框的总数

)>= && startPosition(i,)>=)

result(startPosition(i,),startPosition(i,):startPosition(i,)+windowSize(i,),k) = rgb(,k); %画上边框

result(startPosition(i,):startPosition(i,)+windowSize(i,),startPosition(i,)+windowSize(i,),k) = rgb(,k);%画右边框

result(startPosition(i,)+windowSize(i,),startPosition(i,):startPosition(i,)+windowSize(i,),k) = rgb(,k); %画下边框

result(startPosition(i,):startPosition(i,)+windowSize(i,),startPosition(i,),k) = rgb(,k); %画左边框

|| lineSize ==

result(startPosition(i,)+,startPosition(i,):startPosition(i,)+windowSize(i,),k) = rgb(,k);

result(startPosition(i,):startPosition(i,)+windowSize(i,),startPosition(i,)+windowSize(i,)-,k) = rgb(,k);

result(startPosition(i,)+windowSize(i,)-,startPosition(i,):startPosition(i,)+windowSize(i,),k) = rgb(,k);

result(startPosition(i,):startPosition(i,)+windowSize(i,),startPosition(i,)-,k) = rgb(,k);

result(startPosition(i,)-,startPosition(i,):startPosition(i,)+windowSize(i,),k) = rgb(,k);

result(startPosition(i,):startPosition(i,)+windowSize(i,),startPosition(i,)+windowSize(i,)+,k) = rgb(,k);

result(startPosition(i,)+windowSize(i,)+,startPosition(i,):startPosition(i,)+windowSize(i,),k) = rgb(,k);

result(startPosition(i,):startPosition(i,)+windowSize(i,),startPosition(i,)+,k) = rgb(,k);

end

end

end

end

end

end

state = ;

figure;

hold on;

imshow(result);

end

感谢:

http://blog.csdn.net/carson2005/article/details/17262811

http://blog.csdn.net/carson2005/article/details/44404363

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值