2012-10-05 109 views
2

基本上,我想能够比较两个直方图,但不是整个图像只是特定区域。我有图像A,并有一个特定的矩形区域,我想比较另一个图像B.有没有办法获得图像上可定义的矩形区域的直方图?我有矩形区域的xy位置,以及它的宽度和高度,并且想要得到它的直方图。我用python使用opencv。比较两幅图像特定区域的直方图? OpenCV

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

(我设置一个程序,它的电路板的一个图像,并检查每个焊盘的一致性具有完美板的图像。如果一个键盘关闭,程序会提示一个标志,表示该键盘的特定键盘关闭了百分之十,而不是整个主板。

回答

1

注意:以下是C++中的内容,但我认为不难找到蟒蛇

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

lenahist

在你的情况,因为你有矩形坐标,你可以只提取图像的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的直方图与上述同样的方式:

lenaroihist

这是你想要的东西(至少在理论上)或I misunderstoo d?

+0

这几乎是我正在寻找。我不知道ROI。非常感谢你!一旦我深入了解我的代码,我相信我会遇到更多的问题,但这会对我非常有帮助。谢谢! – user1723662