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. 三维立体图的基本要件: 全空间网格化 网格节 ...
随机推荐
- Java 数据类型之间的转换 拆分字符串 Date/Calendar的转换
数据类型转换 1. String - Int String str="123"; int i=1; int str=Integer.parseInt(str); String i= ...
- 解决Tomcat: Can't load IA 32-bit .dll on a AMD 64-bit platform问题
http://201209235316.iteye.com/blog/2063853 http://www.cnblogs.com/liuyp-ken/p/5503822.html
- JSP Filter
Servlet过滤器方法 一个过滤器就是一个Java类,它实现了javax.servlet.Filter 接口.javax.servlet.Filter接口定义了三个方法: 序号 方法 &描述 ...
- 浅谈AsyncState与AsyncDelegate使用的异同
对于AsyncState来说,其MSDN的解释为:得到BeginInvoke方法的最后一个参数.而对于AsyncDelegate来说,其MSDN的解释为:得到异步调用的委托对象.也就是异步调用的委托源 ...
- React添加事件
定义个组件 组件首字母大写,调用: ReactDOM.render(<Hello></Hello>,document.getElementById('box'));
- JavaScript的IIFE(即时执行方法)
(1)标准写法 (function (window, document, undefined) { // })(window, document); (2)作用域Scope JavaScript有fu ...
- Linux基础:软件安装(rpm,yum,源代码)
Software Installation on Linux Linux安装分为rpm包(可通过yum或者是rpm命令安装)和源码包(源代码或者是编译过的二进制码)两种. Linux是开源系统,很多应 ...
- (20)odoo中的action
---------更新时间18:06 2016-09-18 星期日15:05 2016-03-14 星期一18:07 2016-02-19 星期五---------* 窗口动作 <?xml ...
- 匹配session
package dl.zhang.test.util; import java.io.IOException; import java.io.Reader; import org.apache.iba ...
- LINUX 硬盘命令
1. 查看硬盘情况fdisk -l 每个Disk 为一个硬盘2. 挂在新硬盘fdisk /dev/sdb #硬盘地址Command (m for help):n #新建立分区Command actio ...