【发布时间】:2011-12-30 00:14:51
【问题描述】:
我已从图像中检索出轮廓,并希望专门处理轮廓中的像素。我需要找到轮廓中像素值的总和(而不是面积)。 OpenCV 只支持矩形的 ROI,所以我不知道怎么做。 cvSum 也只接受完整的图像并且没有遮罩选项,所以我对如何进行有点迷茫。有没有人对如何找到特定轮廓中像素值的总和有任何建议?
【问题讨论】:
-
轮廓表示是什么?像素坐标?图像/面具?为什么不能只遍历像素?
-
很抱歉,我不太明白这个问题。轮廓由围绕特定区域的一系列点组成。我不知道如何才能循环遍历像素。轮廓可以是任何形状 - 从人体轮廓到狗的轮廓 - 缺乏固定形状意味着我不能真正“循环”
-
如果轮廓的像素在某个数组中作为坐标给出,则循环遍历该数组,从中取出坐标,然后使用这些坐标查看图像像素。如果轮廓在图像中并且其像素具有将它们与其他所有内容区分开来的特定颜色(或范围),则只需遍历图像像素并查看它们的颜色以查看它们是否是轮廓像素。如果你没有坐标并且轮廓像素没有特定的颜色范围,这是另一种问题,它更难。您没有指定表示。这就是我问它的原因
-
你说得对,下次我会尽量让我的问题不那么含糊。但是,我没有坐标,也没有任何特定的像素颜色范围。我想我找到了解决问题的方法,但它会非常慢。我基本上使用 cvCopy 将每个轮廓的内容传输到新图像,然后找到该图像的总和。这会给我每个轮廓的像素值的总和,但是一个接一个地遍历每个轮廓会非常慢。您还有其他建议吗?
-
我忘了说:我的应用程序是实时运行的,因此解决方案需要很高的速度。