2
我必須比較OpenCV中的兩個圖像,它們都是黑色和白色,並且有白色邊緣,我想通過比較這兩個圖像來得到某種百分比結果。我該怎麼辦?比較OpenCV中兩個圖像的特徵vC++
第一圖象和
第二圖像
可有人就如何執行此操作的建議?
我必須比較OpenCV中的兩個圖像,它們都是黑色和白色,並且有白色邊緣,我想通過比較這兩個圖像來得到某種百分比結果。我該怎麼辦?比較OpenCV中兩個圖像的特徵vC++
第一圖象和
第二圖像
可有人就如何執行此操作的建議?
對於簡單的黑白圖像,你可以嘗試compare:
cv::Mat img1 = ...
cv::Mat img2 = ...
cv::Mat result = ...
cv::compare(img1 , img2 , result , cv::CMP_EQ);
int percentage = countNonZero(result);
但是,對於更高級的比較,也有不同的方法,如用matchTemplate
我試過cv :: compare,但結果不令人滿意。 MatchTemplate更好。特別是對於大圖像。謝謝 – elroyalva
提取匹配方面的問題是非常主觀的。你對比較結果的定義是什麼?例如,如何量化圖像彼此相似度爲30%?您是否要計算在相同位置完全相同的像素數量,或者想要使用其他一些度量方法進行比較? – Alexey
你能提供一個你的輸入和輸出的例子嗎? – Hadi
清楚地瞭解您想要精確計算的內容可能會有所幫助。 – Alexey