基本上,我希望能够比较两个直方图,而不是整个图像的特定区域。我有一个图像A,上面有一个特定的矩形区域,我想要与另一个图像B进行比较。有没有办法获得图像上可定义的矩形区域的直方图?我有矩形区域的x,y位置,以及它的宽度和高度,并且想要得到它的直方图。我正在使用带有python的opencv。
抱歉,如果这不是很清楚的话:
(我正在设置一个程序,该程序拍摄电路板的照片,并检查每个焊盘是否与完美电路板的图像一致。如果一个焊盘关闭,程序会发出一个标志,说明特定焊盘关闭了x%,而不是整个电路板。
发布于 2012-10-06 02:26:29
注意:以下代码是用C++编写的,但我认为不难找到与Python语言等效的函数。
您可以使用this教程找到图像的直方图。例如,对于我们得到的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的直方图:

这是你想要的(至少在理论上),还是我误解了?
https://stackoverflow.com/questions/12750889
复制相似问题