matlab在图像中画长方形(框)
function [state,result]=draw_rect(data,pointAll,windSize,showOrNot)
% 函数调用:[state,result]=draw_rect(data,pointAll,windSize,showOrNot)
% 函数功能:在图像画个长方形框
% 函数输入:data为原始的大图,可为灰度图,可为彩色图
% pointAll 框的左上角在大图中的坐标(每行代表一个坐标),
% 注意:在图中的坐标系为第一列为y,第二列为x(很奇怪的)
% windSize 框的大小 windSize=[,] 分别表示长宽
% showOrNot 是否要显示,默认为显示出来
% 函数输出:state -- 表示程序结果状态
% result - 结果图像数据
% 函数历史: v0. @-- created by Aborn if nargin <
showOrNot = ;
end rgb = [ ]; % 边框颜色
lineSize = ; % 边框大小,取1,, windSize(,)=windSize(,);
windSize(,) = windSize(,);
if windSize(,) > size(data,) ||...
windSize(,) > size(data,)
state = -; % 说明窗口太大,图像太小,没必要获取
disp('the window size is larger then image...');
return;
end result = data;
if size(data,) ==
for k=:
for i=:size(pointAll,) %画边框顺序为:上右下左的原则
result(pointAll(i,),pointAll(i,):pointAll(i,)+windSize(i,),k) = rgb(,k);
result(pointAll(i,):pointAll(i,)+windSize(i,),pointAll(i,)+windSize(i,),k) = rgb(,k);
result(pointAll(i,)+windSize(i,),pointAll(i,):pointAll(i,)+windSize(i,),k) = rgb(,k);
result(pointAll(i,):pointAll(i,)+windSize(i,),pointAll(i,),k) = rgb(,k);
if lineSize == || lineSize ==
result(pointAll(i,)+,pointAll(i,):pointAll(i,)+windSize(i,),k) = rgb(,k);
result(pointAll(i,):pointAll(i,)+windSize(i,),pointAll(i,)+windSize(i,)-,k) = rgb(,k);
result(pointAll(i,)+windSize(i,)-,pointAll(i,):pointAll(i,)+windSize(i,),k) = rgb(,k);
result(pointAll(i,):pointAll(i,)+windSize(i,),pointAll(i,)-,k) = rgb(,k);
if lineSize ==
result(pointAll(i,)-,pointAll(i,):pointAll(i,)+windSize(i,),k) = rgb(,k);
result(pointAll(i,):pointAll(i,)+windSize(i,),pointAll(i,)+windSize(i,)+,k) = rgb(,k);
result(pointAll(i,)+windSize(i,)+,pointAll(i,):pointAll(i,)+windSize(i,),k) = rgb(,k);
result(pointAll(i,):pointAll(i,)+windSize(i,),pointAll(i,)+,k) = rgb(,k);
end
end
end
end
end state = ; if showOrNot ==
figure;
imshow(result);
end
在main函数中调用如下:
% main.m
clc;
clear;
close all; data = imread('man_1.jpg');
pointAll = [,];
windSize = [,]; [state,results]=draw_rect(data,pointAll,windSize);
return;
原图像为:
结果图像为:
特别注意:图像中显示的坐标系和我们平时用的不一样!!!
from: http://blog.csdn.net/loveaborn/article/details/8545809
matlab在图像中画长方形(框)的更多相关文章
- MATLAB·提取图像中多个目标
基于matlab工具箱提取图像中的多目标特征(代码如下): 代码前面部分为提取图像的边界信息,调用了后面的遍历函数Pixel_Search,函数实现方法见后~ %%ROI Testing close ...
- 利用OpenCV检测图像中的长方形画布或纸张并提取图像内容
基于知乎上的一个答案.问题如下: 也就是在一张照片里,已知有个长方形的物体,但是经过了透视投影,已经不再是规则的长方形,那么如何提取这个图形里的内容呢?这是个很常见的场景,比如在博物馆里看到一幅很喜欢 ...
- MATLAB GUI程序设计中使文本框接收多行输入的方法
对于文本框来说 Max属性于Min属性数值之差小于等于1时,仅接收单行输入 大于1时,接受多行输入 对于多行情况,set/get到的String应为cell 本系列文章允许转载,转载请保留全文! [说 ...
- matlab 对图像操作的函数概览
转自博客:http://blog.163.com/fei_lai_feng/blog/static/9289962200991713415422/ 一. 读写图像文件 1. imread imread ...
- [图像]用Matlab在图像上画矩形框
原创文章,欢迎转载.转载请注明:转载自 祥的博客 原文链接:http://blog.csdn.net/humanking7/article/details/46819527 在毕业设计的时候写论文画图 ...
- Matlab实现Hough变换检測图像中的直线
Hough变换的原理: 将图像从图像空间变换至參数空间.变换公式例如以下: 变换以后,图像空间与參数空间存在下面关系: 图像空间中的一点在參数空间是一条曲线,而图像空间共线的各点相应于參数空间交于一点 ...
- Matlab实现Hough变换检测图像中的直线 分类: 图像处理 2014-06-14 22:07 641人阅读 评论(0) 收藏
Hough变换的原理: 将图像从图像空间变换至参数空间,变换公式如下: 变换以后,图像空间与参数空间存在以下关系: 图像空间中的一点在参数空间是一条曲线,而图像空间共线的各点对应于参数空间交于一点的各 ...
- matlab图形中添加文本框
图形中添加文本框,自己目前了解到了两种方法:1.用legend函数就可以对图形标注,形成一个文本框: 2.就是用annotation('textbox',[0.2,0.2.0.1,0.3],'Line ...
- 【matlab】图像直方图
使用imhist函数(要先用rgb2gray转化为灰度图像) 利用matlab计算图像直方图函数为imhist() 具体用法: imhist( i );直接显示图像i的灰度直方图: imhist(i, ...
随机推荐
- django的orm中F对象的使用
今天不巧就用上了. 就是将数据库的字段,自增1的场景. from django.db.models import F DeployPool.objects.filter(name=deployvers ...
- 为什么可以这么快! awk 与python的应用
这几天刚处理一个排序问题 源文件: 可以看到有11G大小,需要根据最后一列的热度来做一下排序.如果让你来做这样的排序,在linux环境下,你会如何处理呢? xch27@lanzhou:/asrdata ...
- 七 oracle 表查询二
1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写的J?select * from emp where (sal > 500 or ...
- GIT修改邮箱
git报错-->! [remote rejected] master -> master (push declined due to email privacy restrictions) ...
- Spring Cloud Config 使用总结
Spring Cloud Config 使用总结 源码 https://github.com/ChangMuChen/Spring-Boot/tree/master/studies/sourcecod ...
- scrapy保存csv文件有空行的解决方案
比如现在我有一个名为test的爬虫,运行爬虫后将结果保存到test.csv文件 默认情况下,我执行scrapy crawl test -o test.csv ,得到的结果可能就是下面这种情况,每两行中 ...
- 【centos 7】搭FTP服务和web访问
步骤:安装 vsftpd-->增加用户-->配置vsftpd和用户权限 -->配置iptables 安装httpd,开放http访问 /var/tmp/user1下目录 1.安装和用 ...
- zTree通过指定ID找到节点并选中
zTree = $.fn.zTree.getZTreeObj("treeDemo");//treeDemo界面中加载ztree的div var node = zTree.getNo ...
- BZOJ 2428 JZYZOJ1533 : [HAOI2006]均分数据 模拟退火 随机化
http://www.lydsy.com/JudgeOnline/problem.php?id=2428 http://172.20.6.3/Problem_Show.asp?id=1533 http ...
- [jzyzoj2021]lca模板题
查找最近公共祖先...我也不知道这东西有什么用,在线写法,非常之慢.... 存代码 #include<cstdio> #include<iostream> #include&l ...