matlab中如何提取边缘点坐标

matlab中如何提取边缘点坐标,第1张

MATLAB提取边缘点坐标,在曲线上每隔几个像素或相同的距离采一个特征点,然后提取出边缘点坐标,方法如下:

%寻找像素为1的点 col为横坐标 row为纵坐标 

[col,row]=find(I == 1);

%在一定范围内筛选坐标

for(col=1:1024 )   

for(row=1:768)       

if(col>374 & col<481 &row>146 &row<246)          

[col,row]  %输出坐标         

end

end

end

1、首先画两个简单的图形。

2输入UC命令,在d出的UCS窗口中切换到设置上。

3接下来用UCS命令设置一个原点,输入UCS命令。

4、接着提示 *** 作,指定一个原点,选矩形的左下角,然后空格确定。

5、这时再用UC命令,再到UCS的设置里面,将显示于UCS原点(D)前面的勾再选上。

6、确定后,发现坐标系就出现在矩形左下角的点上了。这样解决了CAD坐标弄出来的问题了。

扩展资料:

为了提高作图速度,用户最好遵循如下的作图原则:

1、作图步骤:设置图幅→设置单位及精度→建立若乾图层→设置对象样式→开始绘图。

2、绘图始终使用1:1比例。为改变图样的大小,可在打印时于图纸空间内设置不同的打印比例。

3、当处理较小区域的图案时 ,可以减小图案的比例因子值 ;相反地 ,当处理较大区域的图案填充时 ,则可以增加图案的比例因子值 。

4、为不同类型的图元对象设置不同的图层、颜色及线宽,而图元对象的颜色、线型及线宽都应由图层控制(BYLAYER)。

5、需精确绘图时,可使用栅格捕捉功能,并将栅格捕捉间距设为适当的数值。

6、不要将图框和图形绘在同一幅图中,应在布局(LAYOUT)中将图框按块插入,然后打印出图。

7、对于有名对象,如视图、图层、图块、线型、文字样式、打印样式等,命名时不仅要简明,而且要遵循一定的规律,以便于查找和使用。

参考资料来源:百度百科-MATLAB

楼上的方法挺高深的,但是我实验了。发现有“漏网之鱼”。

我将我办法和他的对比了一下,如下图:

可以看出,用楼上的方法解,行坐标为100的,对应的列坐标只有13,14两个点。

而事实上,有10,11,12,13,14共5个点。

而第一行只有(1,1)、(1,2)两个点,事实上,有1到5共5个点

不止第一行和最后一行,中间的每一行都有漏点。

图中,表示应该包括的点,o表示上述方法包括的点(看不清,就是线的端点之间的点)。

我的方法说起来简单,就是先找到边界直线。然后将所有满足的点找出来。

我定义了一个函数,其说明如下(函数主体在附件中,可以自己看):

function [x1,y1,totalnum] = myarea(a,b,c,d)

%% 该函数返回任意指定上下两边平行的四边形区域,所有在选定区域内点对应的x和y坐标

% 及在区域内点的个数

% 其中x1、y1为区域内所有点的横、纵坐标,为行向量。x,y在向量中对应位置为一组

%totalnum返回区域内点的个数

%a,b,c,d为从左上角开始四边形顺时针给出的四边形顶点

%如下,为一个正确给定的区域:

% a = [1,1];

% b = [1,7];

% c = [9,4];

% d = [9,7];

比如,输入命令如下:

 [x,y,num] = myarea([1,1],[1,7],[9,4],[9,7]);

返回的结果我直接用图给你表示吧:

其中红色是指定的端点,写‘1’的是判断在区域内的点。效果还是比较理想的。

代码在附件中。

x=[1 2 3 4 5];%x表示横坐标

y=[2 3 4 5 6];%y表示纵坐标

%下面查找x=3的对应点的纵坐标

Y=y(x==3);

disp(Y);

希望采纳,设置为满意答案,谢谢。

实现的方法和详细的 *** 作步骤如下:

1、第一步,需要知道matlab数组找到所有接近某个值的点的坐标是使用“find”函数,可以在命令行窗口中输入“help find”,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,输入“a =[1 4 5;6 7 8;7 9 12]”,在matlab命令行窗口中创建副本数组,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,输入“[m,n]  =find(a == 9)”并找到等于9的数组的坐标,如下图所示,然后进入下一步。

4、然后,完成上述步骤后,按Enter键确认,可以看到数组中有一个坐标等于9,即第三行和第二列,如下图所示,然后进入下一步。

5、最后,完成上述步骤后,如果有多个具有相同的值,将返回相应的多个坐标位置,如下图所示。这样,问题就解决了。

以上就是关于matlab中如何提取边缘点坐标全部的内容,包括:matlab中如何提取边缘点坐标、matlab怎么在图上标出具体点坐标、matlab提取矩阵中点的坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9823796.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存