用python绘制棋盘并进行角点检测
时间: 2024-03-13 07:16:32 浏览: 124
一种新的棋盘格图像角点检测算法
好的,以下是代码示例:
```python
import cv2
import numpy as np
# 生成棋盘
img = np.zeros((400, 400), np.uint8)
img = cv2.cvtColor(img, cv2.COLOR_GRAY2BGR)
# 绘制棋盘格
for i in range(0, 400, 50):
for j in range(0, 400, 50):
if (i + j) % 100 == 0:
img[i:i + 50, j:j + 50] = 255
# 角点检测
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
corners = cv2.goodFeaturesToTrack(gray, 4, 0.01, 10)
# 绘制角点
for corner in corners:
x, y = corner.ravel()
cv2.circle(img, (x, y), 5, (0, 0, 255), -1)
# 显示结果
cv2.imshow("image", img)
cv2.waitKey(0)
```
该代码会生成一个大小为400x400的棋盘(每个小格子的大小为50x50),并使用OpenCV中的`cv2.goodFeaturesToTrack()`函数进行角点检测,最后在检测到的角点处绘制红色圆圈。
阅读全文