MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   n * n个块和多边形 (https://www.labfans.com/bbs/showthread.php?t=23504)

poster 2019-12-10 20:41

n * n个块和多边形
 
这实际上是为了在matlab中用于称为roipoly的函数,但可以将其视为一般情况下的问题。

Roipoly是一项功能,可让您在图像上选择一个多边形,然后返回一个二进制掩码,您可以在其中使用该掩码获取所需多边形的索引。 (毕竟这只是一个普通的多边形)。

我的应用程序(K近邻)要求我[I]从所拥有的数据(多边形)中提取[/I] n [I]个块,即如果我拥有一个多边形(道路或一块土地),我希望[/I]在其上移动[I]一个[/I] n平方同时避免与边缘相交并将这些n * n像素放入某个变量中。

如果我所有的形状都为矩形,这个问题会容易得多,但不幸的是事实并非如此。我可能会遇到对角线,圆形或不规则的东西。

我可以执行已知的算法吗?或已经做到这一点或可以使它在matlab中变得更容易的东西?

我已经在研究它,但是它很棘手,我想确保我没有浪费时间在某个地方重新发明轮子。

有任何想法吗?



[B]回答:[/B]

我不确定您想要什么,但可以假设是这样的:您有一个二进制蒙版,并且希望所有(可能重叠的)n * n个正方形都适合。

您可以通过生成所有可能的n * n个正方形,然后丢弃所有不适合多边形内部的正方形来进行尝试。

例如

%# create a circle - this is the binary mask bw = false(101); [xx,yy] = ndgrid(-50:50,-50:50); bw((xx.^2+yy.^2)


所有时间均为北京时间。现在的时间是 01:01

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.