我想遍历多边形(opencv轮廓)中的像素,以获得项目的一些属性(最大灰度值,最小值,灰度值,平均灰度值,......) 问题是,如何以最快的方式做到这一点? (我已经提取了数千个)
在opencv答案中,这个问题有一个答案( http://answers.opencv.org/question/29693/fastest-method-to-loop-through-contour-pixels/),但不幸的是,opencv目前正在停滞一段时间。
有谁知道,建议的算法是什么?我想到了三种算法。
1。)提取Shape并使用原始图像执行and-operator(声音太贵)
2。)执行洪水填充,如迭代(听起来更好但不完美)
3.执行扫描平面三角测量算法(不知道如何做到这一点)
还有其他人/更好的想法吗?您认为最有前途/最快的算法是什么。
答案 0 :(得分:0)
根据:
没有建议的答案;)
一般情况下,我会计算轮廓的minBoundingRect
并执行drawContours
的确定(尚未检查开源代码)以找到该轮廓内的所有像素(可能是某些/关闭像素算法?!?)。
在我自己的项目中,我只是画出8UC1白色的轮廓并将其用作面具,这对我的任务来说已经足够了。