數(shù)字圖像處理之模板匹配

問題: 找出圖一中的缺陷


實驗圖
圖二

使用模板匹配:


圖三: template

def template_demo():

??? tpl = cv2.imread("./test2.png")

??? target = cv2.imread("./original.jpg")

??? cv2.imshow("template image",tpl)

??? cv2.imshow("target image",target)

??? # methods = #[cv2.TM_SQDIFF_NORMED,cv2.TM_CCOEFF_NORMED,cv2.TM_CCORR_NORMED]? #各種#匹配算法

? ? methods = [cv2.TM_SQDIFF_NORMED]

??? th,tw = tpl.shape[:2]

??? for mdin methods:

??? ??? print(md)

??? ??? result = cv2.matchTemplate(target,tpl,md)

??? ??? min_val,max_val,min_loc,max_loc = cv2.minMaxLoc(result)

??? ??? if md == cv2.TM_SQDIFF_NORMED:

??? ??? l = min_loc

??? else:

??? ??? tl = max_loc

??? ??? br = (tl[0]+tw,tl[1]+th)

??? ??? # y0 = tl[0]

??? ??? # x0 = tl[1]

??? ??? # y1 = br[0]

??? ??? # x1 = br[1]

??? ??? # img_target = target[x0:x1, y0:y1]

??? ??? # # img_target = target[10:20, 10:20]

??? ??? # cv2.imshow('crop', img_target)

? ? ? ? cv2.rectangle(target,tl,br,(0,0,255),2)

??? ??? cv2.imshow('math-'+np.str(md),target)

if __name__ =="__main__":

??? template_demo()

??? cv2.waitKey(0)

??? cv2.destroyAllWindows()


效果圖

???

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容