目前我有一个由 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 ;
}
这是我检测每个斑点的坐标和直径的代码
答案 0 :(得分:0)
如果您知道可以包含单个 bean 的框;您可以对该框中的所有像素进行平均。它不会是完美的,因为它也会包含背景颜色,但是如果您为豆子使用某些颜色(即容易区分的颜色);您可以计算豆子的所有可能颜色与当前计算的颜色之间的距离。
使用直方图也是另一种选择。