3

基本上,我希望能够比较两个直方图,但不是整个图像只是特定区域。我有图像 A,上面有一个特定的矩形区域,我想与另一个图像 B 进行比较。有没有办法获得图像上可定义矩形区域的直方图?我有矩形区域的 xy 位置,以及它的宽度和高度,并想得到它的直方图。我正在将opencv与python一起使用。

抱歉,如果不是很清楚:(

(我正在设置一个为电路板拍照的程序,并检查每个焊盘与完美电路板图像的一致性。如果一个焊盘关闭,程序会发出一个标志,表示特定焊盘关闭x%,而不是整个董事会。

4

1 回答 1

2

注意:以下是用 C++ 编写的,但我认为找到 python 的等效函数并不难。

您可以使用教程找到图像的直方图。例如,对于我们得到的 lena 图像:

文学家

在您的情况下,由于您有矩形坐标,您可以提取图像的 ROI:

// C++ code
cv::Mat image = cv::imread("lena.png", 0);
cv::Rect roiRect = cv::Rect(150, 150, 250, 250);
cv::Mat imageRoi = image(roiRect);

然后用与上面相同的方法找到仅 ROI 的直方图:

文学家

这是你想要的(至少在理论上)还是我误解了?

于 2012-10-05T18:26:28.623 回答