surf特征点匹配图像显示及匹配数目代码python
时间: 2023-06-16 17:04:18 浏览: 67
以下是一个使用OpenCV库进行SURF特征点检测和匹配的示例代码,可以显示匹配图像和匹配点数量:
```python
import cv2
# 读取图像
img1 = cv2.imread("image1.jpg")
img2 = cv2.imread("image2.jpg")
# 初始化SURF检测器
surf = cv2.xfeatures2d.SURF_create()
# 检测关键点和描述符
kp1, des1 = surf.detectAndCompute(img1, None)
kp2, des2 = surf.detectAndCompute(img2, None)
# 创建FLANN匹配器对象
FLANN_INDEX_KDTREE = 0
index_params = dict(algorithm=FLANN_INDEX_KDTREE, trees=5)
search_params = dict(checks=50)
flann = cv2.FlannBasedMatcher(index_params, search_params)
# 匹配关键点
matches = flann.knnMatch(des1, des2, k=2)
# 选择好的匹配点
good_matches = []
for m, n in matches:
if m.distance < 0.7 * n.distance:
good_matches.append(m)
# 显示匹配图像和匹配点数量
img_matches = cv2.drawMatches(img1, kp1, img2, kp2, good_matches, None, flags=2)
print("匹配点数量:", len(good_matches))
cv2.imshow("Matches", img_matches)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
注意,需要安装OpenCV库并且在代码中的图像路径需要根据实际情况进行修改。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)