![]() |
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.