计算封闭区域中非黑色像素数的最佳c算法是什么?
我举了个例子。我在红色按钮位置点击鼠标我想知道有多少非黑色像素(在这个例子中是白色像素)在封闭区域(正方形和矩形不应该计算)?
最佳答案
您需要emgucv/c在图像中查找轮廓(blob)。该库提供的一个功能,允许您获取图像上的所有轮廓:
var contours = YourImage.FindContours(CHAIN_APPROX_METHOD.CV_CHAIN_APPROX_SIMPLE, RETR_TYPE.CV_RETR_EXTERNAL);
然后,您需要构建自己的算法来检查鼠标坐标落在哪个轮廓中。您的示例图像只有三个轮廓(正方形、矩形和其他轮廓)。您将需要迭代这三个坐标,并根据每个坐标测试鼠标坐标,同时考虑它们的面积、形状等。