matlab已知坐标画图xy坐标怎么画矩形

matlab在图像中画长方形(框)_Linux编程_Linux公社-Linux系统门户网站
你好,游客
matlab在图像中画长方形(框)
来源:Linux社区&
作者:loveaborn
matlab在图像中画长方形(框)
function [state,result]=draw_rect(data,pointAll,windSize,showOrNot) % 函数调用:[state,result]=draw_rect(data,pointAll,windSize,showOrNot)% 函数功能:在图像画个长方形框% 函数输入:data为原始的大图,可为灰度图,可为彩色图%& & & & & pointAll 框的左上角在大图中的坐标(每行代表一个坐标),%& & & & & & & & &
注意:在图中的坐标系为第一列为y,第二列为x(很奇怪的)%& & & & & windSize 框的大小 windSize=[112,92] 分别表示长宽%& & & & & showOrNot 是否要显示,默认为显示出来% 函数输出:state -- 表示程序结果状态%& & & & & result - 结果图像数据 % 函数历史: v0.0 @ created by Aborn
if nargin & 4& & showOrNot = 1;end
rgb = [255 255 0];& & & & & & & & & & & & & & & &
% 边框颜色lineSize = 3;& & & & & & & & & & & & & & & & & & & % 边框大小,取1,2,3
windSize(1,1)=windSize(1,1);windSize(1,2) = windSize(1,2);if windSize(1,1) & size(data,1) ||...& & & & windSize(1,2) & size(data,2)& & state = -1;& & & & & & & & & & & & & & & & & &
% 说明窗口太大,图像太小,没必要获取& & disp('the window size is larger then image...');& &end
result =if size(data,3) == 3& & for k=1:3& & & & for i=1:size(pointAll,1)&
%画边框顺序为:上右下左的原则& & & & & & result(pointAll(i,1),pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);&
& & & & & & result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+windSize(i,1),k) = rgb(1,k);& & & & & & result(pointAll(i,1)+windSize(i,2),pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);& & & & & & & result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2),k) = rgb(1,k);& & & & & & & if lineSize == 2 || lineSize == 3& & & & & & & & result(pointAll(i,1)+1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);& & & & & & & & & result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+windSize(i,1)-1,k) = rgb(1,k);& & & & & & & & result(pointAll(i,1)+windSize(i,2)-1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);& & & & & & & & result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)-1,k) = rgb(1,k);& & & & & & & & if lineSize == 3& & & & & & & & & & result(pointAll(i,1)-1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);&
& & & & & & & & & & result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+windSize(i,1)+1,k) = rgb(1,k);& & & & & & & & & & result(pointAll(i,1)+windSize(i,2)+1,pointAll(i,2):pointAll(i,2)+windSize(i,1),k) = rgb(1,k);& & & & & & & & & & result(pointAll(i,1):pointAll(i,1)+windSize(i,2),pointAll(i,2)+1,k) = rgb(1,k);& & & & & & & & end& & & & & & end& & & & end& & endend
state = 1;
if showOrNot == 1& && & imshow(result);end
在main函数中调用如下:
data = imread('man_1.jpg');pointAll = [5,20];windSize = [100,30];
[state,results]=draw_rect(data,pointAll,windSize);
原图像为:
结果图像为:
特别注意:图像中显示的坐标系和我们平时用的不一样!!!
相关资讯 & & &
& (12/18/:20)
& (07/31/:21)
& (01月29日)
& (08/14/:01)
& (07/31/:45)
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款查看: 1830|回复: 2|关注: 0
如何画一个具有矩形形状的坐标并标示出坐标已知的点?
<h1 style="color:# 麦片财富积分
新手, 积分 5, 距离下一级还需 45 积分
如何画一个具有矩形形状闭合的坐标并且向该坐标标示出几个坐标已知的点?
[ 本帖最后由 Jeffersion 于
15:23 编辑 ]
<h1 style="color:# 麦片财富积分
box on& & 命令
<h1 style="color:# 麦片财富积分
谢谢楼上的,请问又如何在坐标中添加几个坐标已知的点并且用一些符号标示出来?
站长推荐 /2
快速搭建新能源汽车整车模型及其性能优化
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区坐标轴中的点往,xy轴两边引出虚线?
全部答案(共1个回答)
纵坐标的绝对值
完全可以,但是很多东西改变比如说(1,1,0)的坐标离原点的距离为√3而(-1,1,0)的坐标离原点的距离为 1
你可以这样操作:x(1)=1省略plot(d*(2:100),x)2:100默认公差为1plot(x,y)就是x坐标为x,y坐标为y只有一个的话默认x为1:99...
x=0:0.1:10;y=sin(x);plot(x,y)xlabel(&#039;X&#039;);ylabel(&#039;Y&#039;);axis([0,10,-1.2,1.2]);set(g...
先画实线,然手用鼠标双击实线,就会出现“设置自选图形格式”的对话框,里面有“虚实(D)”的选项,打开选定按确定就可以了。
答: 是不是早唐通过了 中唐也就都能通过?
答: cisco网络技术是一个为CTO、IT技术经理、网络工程师、安全工程师、数据库工程师、网络管理员、系统工程师、开发工程师、项目管理人员等IT技术人员搭建的有关先...
答: 我想学网页制作、网络维护、电脑维护可有比较好的学习网站或者论坛推选一下?你好!网易学院
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区查看: 2791|回复: 3|关注: 0
MATLAB如何画长方形,怎么用rectangle函数
<h1 style="color:# 麦片财富积分
新手, 积分 6, 距离下一级还需 44 积分
如何画长方形,怎么用rectangle函数,直接用为啥报错
论坛优秀回答者
关注者: 69
基本调用格式rectangle('Position',[x,y,w,h]),其中x,y为左下角坐标,w,h分别代表宽和高。具体你可以看看该函数的帮助文档,它可以创建一个rectangle object,不光是画矩形。例如:
1、rectangle('Position',[0.59,0.35,3.75,1.37],...
& && && & 'Curvature',[0.8,0.4],...
& && && &'LineWidth',2,'LineStyle','--')
daspect([1,1,1])复制代码2、rectangle('Position',[1,2,5,10],'Curvature',[1,1],...
& && && & 'FaceColor','r')
daspect([1,1,1])
xlim([0,7])
ylim([1,13])复制代码
<h1 style="color:# 麦片财富积分
复制了,一运行报错
Attempt to call constructor rectangle with incorrect letter case.
Error in rectangle (line 1)
rectangle('Position',[1,2,5,10],'Curvature',[1,1],...
<h1 style="color:# 麦片财富积分
基本调用格式rectangle('Position',[x,y,w,h]),其中x,y为左下角坐标,w,h分别代表宽和高。具体你可以看看 ...
复制了,一运行报错
Attempt to call constructor rectangle with incorrect letter case.
Error in rectangle (line 1)
rectangle('Position',[1,2,5,10],'Curvature',[1,1],...
站长推荐 /2
快速搭建新能源汽车整车模型及其性能优化
MATLAB中文论坛是全球最大的 MATLAB & Simulink 中文社区。用户免费注册会员后,即可下载代码,讨论问题,请教资深用户及结识书籍作者。立即注册加入我们吧!
MATLAB官方社交平台
MATLAB中文论坛微社区

我要回帖

更多关于 matlab已知坐标画图 的文章

 

随机推荐