查找检测到的 blob opencv 的颜色

时间:2021-03-31 09:26:26

标签: c++ opencv

目前我有一个由 simpleblobdetector 函数检测到的 bean。现在我想知道 blob 检测器检测到的豆子的 RGB/HSV 值,找到颜色的最佳方法是什么?有人建议我使用直方图计算,但我仍然不知道如何应用此功能。

            Mat im_with_keypoints;
                   drawKeypoints( capture, keypoints, im_with_keypoints, Scalar(0,0,255), DrawMatchesFlags::DRAW_RICH_KEYPOINTS );
                   size_t i, k;
                   Point Coordinate;
                    for( i = k = 0; i < keypoints.size(); i++ )
                    {
                        Coordinate =    keypoints[i].pt ;
                    qDebug ()<< "x " << Coordinate.x << "y " <<Coordinate.y;
                    qDebug ()<< "s " << keypoints[i].size ;

                    }

这是我检测每个斑点的坐标和直径的代码

1 个答案:

答案 0 :(得分:0)

如果您知道可以包含单个 bean 的框;您可以对该框中的所有像素进行平均。它不会是完美的,因为它也会包含背景颜色,但是如果您为豆子使用某些颜色(即容易区分的颜色);您可以计算豆子的所有可能颜色与当前计算的颜色之间的距离。

使用直方图也是另一种选择。

相关问题