使用opencv识别正方形四边缺口并标注出缺口像素代码
时间: 2024-03-29 12:12:39 浏览: 105
这是一段 Python 代码,使用 OpenCV 库来识别正方形四边缺口并标注出缺口像素:
```python
import cv2
import numpy as np
# 读取图片
image = cv2.imread('test.jpg')
# 预处理图片(转灰度图像、二值化、膨胀处理)
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
ret, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
kernel = np.ones((5, 5), np.uint8)
thresh = cv2.dilate(thresh, kernel, iterations=1)
# 查找正方形轮廓
contours, hierarchy = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历轮廓,找到正方形四个角
for c in contours:
peri = cv2.arcLength(c, True)
approx = cv2.approxPolyDP(c, 0.04 * peri, True)
if len(approx) == 4:
# 找到四个角并标记出来
for point in approx:
cv2.circle(image, tuple(point[0]), 10, (0, 0, 255), -1)
# 显示标记后的图片
cv2.imshow('image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
这段代码首先读取名为 `test.jpg` 的图片,并进行一些预处理操作,包括将图片转化为灰度图像、二值化、和膨胀处理。
接着使用 `cv2.findContours()` 方法查找正方形轮廓,然后遍历所有轮廓,找到正方形四个角,并使用 `cv2.circle()` 方法对四个角进行标记。
最后,使用 `cv2.imshow()` 方法显示标记后的图片,并等待用户按下任意按键关闭窗口。
注:本段代码中使用的是 OpenCV 库,而非 CSDN ChitGPT 模型。
阅读全文