iT邦幫忙

0

請益 如何利用特徵計算圖片相似度

小弟在做一個ar marker辨識的功能
其中這是原圖https://ithelp.ithome.com.tw/upload/images/20200815/201100285kqP5k2Lv1.jpg
我會將原圖處理成
https://ithelp.ithome.com.tw/upload/images/20200815/2011002815iwcJuaIq.png
其中我希望判斷 經過處理的第二張圖片與這張是否相似
https://ithelp.ithome.com.tw/upload/images/20200815/20110028PLKVDIYAOo.png

請問有快速且滿足我需求的算法嗎(ps 我嘗試過 直方圖類型的計算 發現不太準確
其他的marker也會誤判成我的marker ,sift 也有試過 只是好像也不太準確)

總結:我希望找到一個快速且該算法只要回應匹配與否

Kevin iT邦新手 3 級 ‧ 2020-08-16 00:40:50 檢舉
直方圖等化後在做說不定OK
Kevin iT邦新手 3 級 ‧ 2020-08-16 00:43:04 檢舉
也可以先做色彩轉換在計算,LAB能試試看
e6319a5b iT邦新手 4 級 ‧ 2020-08-16 11:00:17 檢舉
您好,我的圖片有先色彩轉換成LAB中的L值變成單通道,在使用直方圖計算
結果就是拿一個OPENCV的Marker也會與我的Marker搞混

1 個回答

1
I code so I am
iT邦研究生 1 級 ‧ 2020-08-16 17:22:39
最佳解答

如果單純是綠色的話,直接使用 openCV 的 split 函數取得綠色通道,再把它二值化,再作比較即可。

(B, G, R) = cv2.split(image)

二值化:
https://docs.opencv.org/master/d7/d4d/tutorial_py_thresholding.html

另外,也可以使用深度學習作辨識,可參考:
https://ithelp.ithome.com.tw/articles/10192389

e6319a5b iT邦新手 4 級 ‧ 2020-08-16 17:39:49 檢舉

~感謝大大 我今天有使用過綠色做二值化..只可惜效果不太好 深度學習的話我本來想使用看看one class svm 只是今天看到opencv 的markless使用orb特徵擷取跟著使用發現效果不錯

我要發表回答

立即登入回答