Python OpenCV3 BF Algorithm

Foreword

Next i’ll show you how to use the BF algorithm in Python.Before that let’s look at what BF algorithm is.

What’s the BF Algorithm

BF algorithm is the abbreviation of Brute Force algorithm.It belongs to common pattern maching algorithm.its method is to compare two strings A and B one by one. If the first character of string A is equal to the first character of steing B ,it will continue to compare the second character of the string A and B ,otherwise compare the first character of string A with the second character of string B ,until get the final result.

Library

pip install opencv-python

Python code

import cv2

# 按照灰度圖像的方式讀入兩幅圖片
img1 = cv2.imread("./8.jpg", cv2.IMREAD_GRAYSCALE)
img2 = cv2.imread("./9.jpg", cv2.IMREAD_GRAYSCALE)

# 創建ORB特徵檢測器和描述符
orb = cv2.ORB_create()
# 對兩幅圖像檢測特徵和描述符
keypoint1, descriptor1 = orb.detectAndCompute(img1, None)
keypoint2, descriptor2 = orb.detectAndCompute(img2, None)

# 獲得一個暴力匹配器的對象
bf = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True)
# 利用匹配器 匹配兩個描述符的相近成都
maches = bf.match(descriptor1, descriptor2)
# 按照相近程度 進行排序
maches = sorted(maches, key=lambda x: x.distance)
# 畫出匹配項
img3 = cv2.drawMatches(img1, keypoint1, img2, keypoint2, maches[0:70], img2, flags=2)

cv2.imshow("BF", img3)
cv2.waitKey(0)
cv2.destroyAllWindows()

Display

在這裏插入圖片描述
With this algorithm, we can use one special part of a picture to match the corresponding prat in the another picture.
Next blog i’ll introduce another matching algorithm—KNN

KNN algorithm

佔有慾讓人誤以爲自己很癡情。最後喜歡變成了不甘, 深愛變成了心酸。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章