matlab处理图像如何绘制正多边形图像,并且每条边设置成不同颜色?

又是计算几何我感觉最近对计算几何上瘾了。

当然工作上也会用一些,不过工作上一般直接调用boost的geometry库

上次写过,这次是最小包围矩形要比最小包围圆复杂些。

最尛包围矩形可不一定是个直立的矩形也可能像下图一样是倾斜的。

1.求多边形凸包这里凸包直接调用系统函数了,细节可以虽然当时寫的不怎么样。

2.将凸包两个相邻的点连线作为矩形一条边

3.寻找凸包上距离已得到的边最远的点,过该点做平行线得到矩形第二条边。

4.將凸包上点向已求得的边投影求得投影点相距最远的两个点,过该两点做直线作为矩形另外两条边。

5.遍历凸包所有相邻两点从新运行2~4将面积最小的矩形作为求得结果。

通常情况下矩形会过随机点中的5个点。

[h ind]=max(d); %得到距离最大的点距离即为高,同时得到该点坐标
}

简单多边形是指各边不相交的多邊形

首先计算出所有顶点中心位置。

然后求每个顶点与中心的极角

连接排序后的点就行了。

hold on;         %连接各点            
}

     下面我们对一副图像进行直接操莋把其中的红色部分改为蓝色。



}

我要回帖

更多关于 matlab处理图像 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信