python提取彩色图像的Harris角点的完整代码
时间: 2023-10-19 17:05:46 浏览: 169
这是一个简单的Python代码,用于提取彩色图像的Harris角点。它使用OpenCV库进行图像处理和角点检测。
```
import cv2
import numpy as np
# 读取彩色图像
img = cv2.imread('image.jpg')
# 转换为灰度图像
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 计算Harris角点
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
# 反转二值化结果
dst = cv2.threshold(dst, 0.01 * dst.max(), 255, 0)[1]
# 找到角点的坐标
coords = np.column_stack(np.where(dst > 0))
# 将角点标记为红色
for coord in coords:
cv2.circle(img, tuple(coord), 5, (0, 0, 255), 2)
# 显示结果图像
cv2.imshow('Harris Corners', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个代码中,我们首先读取了一个彩色图像,并将其转换为灰度图像。然后,我们使用OpenCV的`cornerHarris`函数计算Harris角点,并将结果二值化。接下来,我们使用`np.where`函数找到角点的坐标,并将它们标记为红色圆圈。最后,我们显示结果图像,按下任意按键关闭窗口。
请注意,这只是一个简单的示例代码,可能需要根据您的实际需求进行修改。
阅读全文