我正在考虑为我的自定义集合(树)实现IEnumerable,所以我可以使用foreach来遍历我的树.但据我所知,foreach总是从集合的第一个元素开始.我想选择foreach从哪个元素开始.有可能以某种方式改变foreach开始的元素吗?
我正在为形状检测编写小应用程序.我首先需要做的是找到图像上最重要的形状.我从一些预处理开始,包括将图像转换为灰度,阈值和边缘检测.这些操作之前和之后的图像如下所示
之前

后

因此,您可以看到主要形状是可见的(但它有点散乱),还有一些噪音(小树等).我需要做的是以某种方式提取最重要的形状(最大的形状) - 在这种情况下它是一个塔.我想要做的是在opencv中使用轮廓查找功能,然后以某种方式使用多边形找到conturs.然后我会(不知何故)计算countours的面积并选择最大的面积.到目前为止,我只能(仅)使用找到轮廓
cvFindContours(crated,g_storage,&contours);
Run Code Online (Sandbox Code Playgroud)
我知道有一个
cvApproxPoly
Run Code Online (Sandbox Code Playgroud)
函数,但是我无法获得有关此函数结果的任何有用信息.有人可以告诉我是否可以计算轮廓的面积或用多边形逼近轮廓.也许你有更好的想法如何只提取最重要的形状?