Python文档阅读笔记-OpenCV中Match Shapes
生活随笔
收集整理的這篇文章主要介紹了
Python文档阅读笔记-OpenCV中Match Shapes
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
OpenCV使用cv2.matchShapes()用來對比2個圖像是否相似。返回值越低說明2張圖片越相似。這個是基于hu-moment值算出來的。
代碼如下:
import cv2 import numpy as npimg1 = cv2.imread('star.jpg',0) img2 = cv2.imread('star2.jpg',0)ret, thresh = cv2.threshold(img1, 127, 255,0) ret, thresh2 = cv2.threshold(img2, 127, 255,0) contours,hierarchy = cv2.findContours(thresh,2,1) cnt1 = contours[0] contours,hierarchy = cv2.findContours(thresh2,2,1) cnt2 = contours[0]ret = cv2.matchShapes(cnt1,cnt2,1,0.0) print ret如下測試圖:
?
結果為:
A圖形匹配自身體結果為0.0
A圖形匹配B圖形結果為0.001946
A圖形匹配C圖形結果為0.326911
相關解析:
①threshold(img, threshold, maxval, type):
? ? ? ? Ⅰ:threshold設定的閾值;
? ? ? ? Ⅱ:maxval當灰度值大于(或小于)閾值時將該灰度賦值成的值;
? ? ? ? Ⅲ:type規定的是當前二值化的方式。
②findContours():查找輪廓,第一個參數是輸入圖像,第二個參數是輪廓檢索模式,第三參數是輪廓近似方法。
總結
以上是生活随笔為你收集整理的Python文档阅读笔记-OpenCV中Match Shapes的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cuda笔记-一个Block多线程求卷积
- 下一篇: Qt笔记-窗口程序在任务栏中隐藏及永久置