本文主要展示“如何使用Python OpenCV匹配图像模板”,简单易懂,条理清晰,希望能帮你解开疑惑。让边肖带领大家学习学习《如何使用Python OpenCV匹配图像模板》一文。
首先导入所需的库文件,numpy和cv2。
#导入所需的库文件importcv2importnumpyasnp,然后加载原始图像和要搜索的图像模板。OpenCV处理原始图像,创建一个灰色版本,并在灰色图像中处理和匹配它。然后使用相同的坐标恢复并输出原始图像。
#加载原始RGB图像img _ RGB=cv2 . imread(' photo . jpg ')#创建原始图像的灰色版本,所有操作都在灰色版本中处理,然后还原img_gray=cv2.cvtColor(img_rgb,2.cvcolor _ bgr2gray) #加载要搜索的图像模板=cv2.imread ('face.jpg ',0) #记录图像模板的大小w,h=template.shape [:3360-1]
#查看三组图像(图像标签名、文件名)CV2。imshow ('RGB ',img _ RGB) CV2。imshow ('gray ',img _ gray) CV2。imshow ('template ',template) CV2。waitkey (0) CV2。使用destroyallwindows()
#使用matchTemplate RES=CV2将原始灰色图像与图像模板进行匹配。匹配模板(img _ gray,模板,CV2。TM _ cceff _ normalized)# Set threshold=0.7 # RES大于70%loc=np .其中(res=threshold)匹配后用原始图像中灰度图像的坐标标记原始图像。
#用灰度图像中的坐标标记原始的RGB图像,用于(* loc [:3360-1]) :cv2 .矩形(img _ RGB,PT,(PT [0] W,PT [1] H),(7,249,151),2)img _ RGB)cv2 . waitkey(0)cv2 . destroyallwindows()
以下是完整的代码:
defmathc_img(image,Target,value): importcv2 importtnumpsyasnipmg _ RGB=cv2 . imread(image)img _ gray=cv2 . CVT color(img _ RGB,cv2。COLOR _ BGR2GRAY)template=cv2 . imread(Target,0)w,h=template . shape[:-1]RES=cv2 . match template(img _ gray,template,cv2。TM _ CCOEFF _ NORMED)threshold=Value loc=NP .其中(res=threshold)为tinzip(* loc[:-1]): cv2 . rectangle(img _ RGB,pt,(pt[0] w,pt[1] h),(7,249,151),2)cv2.imshow('Detected ',img _ RGB)cv2 . waitkey(0)cv2 . destroyallwindows()image=(' photo . jpg ')感谢您的阅读!相信大家都有一定的了解,希望分享的内容对大家有所帮助。想了解更多知识,请关注行业资讯频道!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/85715.html