当前位置:编程学习 > C#/ASP.NET >>

c# 求图像区域的最小外接矩形

问题如题  
说明:这里的最小指的是面积。
      注意区分原来的多边形外接矩形,这里我已知的是边界区域(point[] p)和边界点个数(int n)要求返回的是矩形区域的面积(double area)和长宽(double w,double h)。图像区域边界点个数一般不确定,可能几百也可能上千。
      最好c#的源码!  要是有c++的完整类也行 小弟自己编译。
     小弟就这么多分数 求各位帮忙 --------------------编程问答-------------------- up --------------------编程问答-------------------- (point[] p) 所有点里面  
最小的X  就是那个矩形的左边的X
最大的X  就是那个矩形的右边的X
最大的Y  就是那个矩形的上边的Y
最小的Y  就是那个矩形的下边的Y
--------------------编程问答-------------------- 这4条与坐标轴垂直的直线围成的矩形就是你要的  然后求面积什么的 都不是问题了 --------------------编程问答-------------------- 谢谢楼上的分析,不是你想的那么简单,要求最小外接矩形。 --------------------编程问答-------------------- 呵呵,同意楼主, --------------------编程问答--------------------
引用 4 楼 mengleiwww 的回复:
要求最小外接矩形。

恩  我希望知道这样为什么不是最小的 --------------------编程问答-------------------- 我觉得没有必要求最小外接矩形。
我以为外接矩形的用处,也就是控制刷新的范围,把变化的部分重画就可以了。如果用最小外接矩形,那么它本身就是倾斜的了,反而会造成gdi控制的困难,(也有可能gdi会在这个最小外接矩形外面再找一个外接矩形,那这个矩形的面积就更大了)
--------------------编程问答-------------------- 好像没有人理解我的意思,这么长时间过去了 问题我已经解决。
思路:(大家参考一下)
1、由于我的图像区域是不规则的,我首先解决了一下凸包问题
2、然后用凸包做为多边形区域,再用常用多边形求外界矩形的方法求出我想要的结果。
--------------------编程问答--------------------
引用 8 楼 mengleiwww 的回复:
好像没有人理解我的意思,这么长时间过去了 问题我已经解决。
思路:(大家参考一下)
1、由于我的图像区域是不规则的,我首先解决了一下凸包问题
2、然后用凸包做为多边形区域,再用常用多边形求外界矩形的方法求出我想要的结果。

问题解决了吗,楼主能不能再详细说下啊? --------------------编程问答-------------------- 好高深阿 --------------------编程问答-------------------- 哦,我想是想找到区域的凸多边形,然后对凸多边形求最小外接矩形吧?
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,