matlab代码-图像上画框
来源:互联网 发布:淘宝卖家如何修改店名 编辑:程序博客网 时间:2024/06/11 05:44
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;endrgb = [255 0 0]; % 边框颜色lineSize = 3; % 边框大小,取1,2,3windowSize(1,1)=windowSize(1,1);windowSize(1,2) = windowSize(1,2);if windowSize(1,2) > size(img,1) ||... windowSize(1,1) > size(img,2) state = -1; % 说明窗口太大,图像太小, disp('the window size is larger then image...'); return;endresult = img;if size(img,3) == 3 for k=1:3 for i=1:size(startPosition,1) %矩形框的总数if(startPosition(i,1)>=0 && startPosition(i,2)>=0)result(startPosition(i,2),startPosition(i,1):startPosition(i,1)+windowSize(i,1),k) = rgb(1,k); %画上边框 result(startPosition(i,2):startPosition(i,2)+windowSize(i,2),startPosition(i,1)+windowSize(i,1),k) = rgb(1,k);%画右边框result(startPosition(i,2)+windowSize(i,2),startPosition(i,1):startPosition(i,1)+windowSize(i,1),k) = rgb(1,k); %画下边框 result(startPosition(i,2):startPosition(i,2)+windowSize(i,2),startPosition(i,1),k) = rgb(1,k); %画左边框 if lineSize == 2 || lineSize == 3result(startPosition(i,2)+1,startPosition(i,1):startPosition(i,1)+windowSize(i,1),k) = rgb(1,k); result(startPosition(i,2):startPosition(i,2)+windowSize(i,2),startPosition(i,1)+windowSize(i,1)-1,k) = rgb(1,k);result(startPosition(i,2)+windowSize(i,2)-1,startPosition(i,1):startPosition(i,1)+windowSize(i,1),k) = rgb(1,k);result(startPosition(i,2):startPosition(i,2)+windowSize(i,2),startPosition(i,1)-1,k) = rgb(1,k);if lineSize == 3result(startPosition(i,2)-1,startPosition(i,1):startPosition(i,1)+windowSize(i,1),k) = rgb(1,k); result(startPosition(i,2):startPosition(i,2)+windowSize(i,2),startPosition(i,1)+windowSize(i,1)+1,k) = rgb(1,k);result(startPosition(i,2)+windowSize(i,2)+1,startPosition(i,1):startPosition(i,1)+windowSize(i,1),k) = rgb(1,k);result(startPosition(i,2):startPosition(i,2)+windowSize(i,2),startPosition(i,1)+1,k) = rgb(1,k);endendend end endendstate = 1;if showOrNot == 1 figure;hold on; imshow(result);end
1 0
- matlab代码-图像上画框
- matlab在图片上画框
- matlab在图片上画框
- java代码在图片上画框
- 11.11 matlab保存画框图像显示的操作(去白边)
- 使用matlab在图片上画框,并保存
- 如何利用代码标注 MATLAB 图像上的某些点
- matlab 在图像上标注关键点 小代码
- MATLAB insertShape图像上直接添加图像
- 部分matlab处理图像代码
- 图像细化matlab代码实现
- 部分matlab处理图像代码
- 图像信息熵matlab代码
- matlab图像预处理代码综合
- 画框
- opencv为图像画框并显示文字
- arcgis for android 地图上画框划线
- arcgis for android 地图上画框划线
- 设计模式(三)建造者模式Builder(创建型)
- ModelBuilder创建GP工具模型【二】
- HMM 隐马尔科夫模型
- emacs daemon 相关配置
- videojs使用入门
- matlab代码-图像上画框
- MaNGOS-Zero编译注意事项
- select 高级查询
- maven环境快速搭建
- Linux自动判断是否插入网线的几种方法
- Android线性布局管理器LinearLayout创建--动态生成
- python 学习笔记
- Hadoop 新 MapReduce 框架 Yarn 详解
- asp.net(C#)去除html格式