Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 20:41   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 n * n个块和多边形

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

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

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

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

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

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

有任何想法吗?



回答:

我不确定您想要什么,但可以假设是这样的:您有一个二进制蒙版,并且希望所有(可能重叠的)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)
poster 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



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


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