OpenCV中提供了多种角点检测算法,常用的有Harris角点检测、Shi-Tomasi角点检测和FAST角点检测。下面是使用cv2对图像进行角点检测的示例代码:

import cv2
import numpy as np

# 读取图像
img = cv2.imread('image.jpg')

# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

# 使用Harris角点检测
dst = cv2.cornerHarris(gray, blockSize=2, ksize=3, k=0.04)

# 腐蚀角点标记
dst = cv2.dilate(dst, None)

# 根据阈值选择角点
img[dst > 0.01 * dst.max()] = [0, 0, 255]

# 显示结果
cv2.imshow('Corners', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

上述代码使用Harris角点检测算法对图像进行角点检测,并将检测到的角点标记为红色。可以根据需要修改代码中的参数来调整检测的效果。同样地,也可以使用cv2.goodFeaturesToTrack()函数进行Shi-Tomasi角点检测,或使用cv2.FAST()函数进行FAST角点检测

cv2对图像实行角点检测

原文地址: http://www.cveoy.top/t/topic/hAcY 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录