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
佔有慾讓人誤以爲自己很癡情。最後喜歡變成了不甘, 深愛變成了心酸。