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 - 结果图像数据 if nargin <
showOrNot = ;
end rgb = [ ]; % 边框颜色
lineSize = ; % 边框大小,取1,, windowSize(,)=windowSize(,);
windowSize(,) = windowSize(,);
if windowSize(,) > size(img,) ||...
windowSize(,) > size(img,)
state = -; % 说明窗口太大,图像太小,
disp('the window size is larger then image...');
return;
end result = img;
if size(img,) ==
for k=:
for i=:size(startPosition,) %矩形框的总数
if(startPosition(i,)>= && 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); %画左边框 if lineSize == || 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); if 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);
end
end
end
end
end
end state = ; if showOrNot ==
figure;
hold on;
imshow(result);
end
感谢:
http://blog.csdn.net/carson2005/article/details/17262811
http://blog.csdn.net/carson2005/article/details/44404363
matlab 画框(一)的更多相关文章
- matlab 画框(二) 去白边
在matlab图像处理中,为了标识出图像的目标区域来,需要利用plot函数或者rectangle函数,这样标识目标后,就保存图像. 一般saves保存的图像存在白边,可以采用imwrite对图像进行保 ...
- matlab 画框(三) 画框并保存图像
initstate = [x y w h];%-----------------------------------------Show the tracking resultimshow(uint8 ...
- matlab在图片上画框
matlab在图片上画框 之前写过一个MATLAB在图片上画框的代码, http://blog.csdn.net/carson2005/article/details/17262811 最近使用后发现 ...
- matlab保存画框图像去白边
在matlab图像处理中,为了标识出图像的目标区域来,需要利用plot函数或者rectangle函数,这样标识目标后,就保存图像. 一般saves保存的图像存在白边,可以采用imwrite对图像进行保 ...
- 【matlab】用matlab 保存带标记图像、图片的方法总结
最近看了一些用matlab对图形图片进行保存的帖子和资源,关于图像保存的方法给大家分享一下这些方法是大家所使用方法的一个总结. 如今常用的方法有三种printf,imwrite,saveas下面分别介 ...
- MATLAB(3)——GUI界面设计入门
作者:桂. 时间:2017-03-01 18:43:35 链接:http://www.cnblogs.com/xingshansi/articles/6485688.html 声明:转载请注明出处, ...
- [图像]用Matlab在图像上画矩形框
原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/46819527 在毕业设计的时候写论文画图 ...
- matlab下的caffe接口配置(Windows)
本文基于大部分网上方法 http://blog.csdn.net/d5224/article/details/51916178,外加一点自己的个人实际配置经历,环境变量在配置后尽管显示正确并且重启多次 ...
- Matlab 绘制三维立体图(以地质异常体为例)
前言:在地球物理勘探,流体空间分布等多种场景中,定位空间点P(x,y,x)的物理属性值Q,并绘制三维空间分布图,对我们洞察空间场景有十分重要的意义. 1. 三维立体图的基本要件: 全空间网格化 网格节 ...
随机推荐
- IE浏览器打印合格证相关问题
0.打印机驱动,打印参数设置,首选项配置,数值都必须精确. 1.google浏览器死都不兼容,上下行之间会重叠. 解决方案:必须IE 2.IE 10,IE 11 需要开兼容性视图设置,添加该网站.不然 ...
- linux下动态链接库.so文件 静态链接库.a文件创建及使用
转摘网址为:http://www.cnblogs.com/fengyv/archive/2012/08/10/2631313.html Linux下文件的类型是不依赖于其后缀名的,但一般来讲: ...
- 最大似然估计(Maximum Likelihood,ML)
先不要想其他的,首先要在大脑里形成概念! 最大似然估计是什么意思?呵呵,完全不懂字面意思,似然是个啥啊?其实似然是likelihood的文言翻译,就是可能性的意思,所以Maximum Likeliho ...
- Canu Quick Start(快速使用Canu)
Canu Quick Start Canu Quick Start PBcR (老版的canu) CA Canu specializes in(专门从事) assembling PacBio or O ...
- Linkclump – 批量打开多个链接[Chrome]
我的收藏 | 登录 首页 » Chrome » Linkclump – 批量打开多个链接[Chrome] 收藏 2 (1 votes) 青小蛙 on 2016.04.06. Linkclump 是一 ...
- 串行通讯之.NET SerialPort异步写数据
目录 第1章说明 2 1 为什么需要异步写数据? 2 2 异步写数据的代码 2 3 源代码 4 第1章说明 1 为什么需要异步写数据? 如下图所示,以波特率300打开一个串口. ...
- mydbtest文档
mydbtest是楼方鑫编写的一个数据库测试工具,有需要的话,请自取 http://pan.baidu.com/s/1mgJpukg#path=%252FOneSQL%252FDocument 找到& ...
- Spring表达式语言 之 5.4在Bean定义中使用EL(拾伍)
5.4.1 xml风格的配置 SpEL支持在Bean定义时注入,默认使用"#{SpEL表达式}"表示,其中"#root"根对象默认可以认为是Applicati ...
- Python中pip版本升级error:You are using pip version 7.1.2, however version 8.1.1 is available.
使用pip install安装命令时,会报错:You are using pip version 7.1.2, however version 8.1.1 is available. 尝试了推荐解决办 ...
- 【Linux】rpm -qa 和 rpm -q
查询一个包是否被安装 # rpm -q < rpm package name>列出所有被安装的rpm package # rpm -qae.g. rpm -qa|grep "pc ...