84669 人學習
152542 人學習
20005 人學習
5487 人學習
7821 人學習
359900 人學習
3350 人學習
180660 人學習
48569 人學習
18603 人學習
40936 人學習
1549 人學習
1183 人學習
32909 人學習
找茬那种游戏,两张一样的图,其中一张多了些东西。 想做个检测工具,识别两张图的不同之处,有什么算法思路?
认证0级讲师
先將兩張圖的頂點對齊,然後對像素做diff 得到一個包含RGB 差值新圖,將這個新圖做歸一化,再用邊緣檢測演算法把新圖裡面的圖像輪廓勾出來,最後求出輪廓的包絡,這個包絡就是找不同裡面要點選的區域了。
簡單一點,以5個像素為一個單元切割大圖,然後對比每個小圖的二值~
最簡單的辦法。 假設兩張圖長寬一致,直接從左上角讀取像素,存成一個RGB二維陣列。比較兩個陣列的不同之處,相同之處標為白色,反之標為黑色。以這個二維數組產生一張圖,黑色部分就是有差異的部分了。
找茬的很好辦,讀取兩張圖片值,然後相減就行
大學畢設做了類似的東西。實際上兩張圖直接相減會有很多雜訊的,需要一些處理。降噪的手法有很多:模糊->二值化,剩下一些色塊,用連通成分標記演算法將這些塊整合起來,然後處理出bounding box 就可以輸出給其它模組用了。
把圖按RGB亮度值作差,然後將得到的差值影像轉成灰階圖,再透過腐蝕和膨脹演算法將不同點放大。如果有了解OpenCV的話這東西幾個函數就能搞定。
研一數位影像處理的實驗四。 。 。樓主是不是!
先將兩張圖的頂點對齊,然後對像素做diff 得到一個包含RGB 差值新圖,將這個新圖做歸一化,再用邊緣檢測演算法把新圖裡面的圖像輪廓勾出來,最後求出輪廓的包絡,這個包絡就是找不同裡面要點選的區域了。
簡單一點,以5個像素為一個單元切割大圖,然後對比每個小圖的二值~
最簡單的辦法。
假設兩張圖長寬一致,直接從左上角讀取像素,存成一個RGB二維陣列。比較兩個陣列的不同之處,相同之處標為白色,反之標為黑色。以這個二維數組產生一張圖,黑色部分就是有差異的部分了。
找茬的很好辦,讀取兩張圖片值,然後相減就行
大學畢設做了類似的東西。實際上兩張圖直接相減會有很多雜訊的,需要一些處理。降噪的手法有很多:模糊->二值化,剩下一些色塊,用連通成分標記演算法將這些塊整合起來,然後處理出bounding box 就可以輸出給其它模組用了。
把圖按RGB亮度值作差,然後將得到的差值影像轉成灰階圖,再透過腐蝕和膨脹演算法將不同點放大。如果有了解OpenCV的話這東西幾個函數就能搞定。
研一數位影像處理的實驗四。 。 。樓主是不是!