cv中边缘轮廓检测返回四个点的坐标代码
时间: 2024-04-18 07:30:45 浏览: 31
以下是使用OpenCV进行边缘检测并返回四个点坐标的示例代码:
```python
import cv2
# 读取图像并将其转换为灰度图像
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对灰度图像应用Canny边缘检测
edges = cv2.Canny(gray, 50, 150)
# 执行轮廓检测
contours, hierarchy = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
# 遍历所有检测到的轮廓
for contour in contours:
# 近似轮廓为多边形
epsilon = 0.1 * cv2.arcLength(contour, True)
approx = cv2.approxPolyDP(contour, epsilon, True)
# 绘制矩形框
if len(approx) == 4:
cv2.drawContours(img, [approx], 0, (0, 255, 0), 2)
# 获取四个点的坐标
points = []
for point in approx:
x, y = point[0]
points.append((x, y))
# 在图像上绘制点
for point in points:
cv2.circle(img, point, 5, (255, 0, 0), -1)
# 显示结果图像
cv2.imshow('Result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在代码中,我们首先读取图像并将其转换为灰度图像。然后,我们使用 `cv2.Canny()` 函数应用Canny边缘检测算法来检测图像的边缘。接下来,我们使用 `cv2.findContours()` 函数找到边缘的轮廓。然后,我们遍历所有检测到的轮廓,并使用 `cv2.approxPolyDP()` 函数将轮廓近似为多边形。如果近似的多边形是一个四边形,我们使用 `cv2.drawContours()` 函数在图像上绘制矩形框,并获取四个点的坐标。最后,我们使用 `cv2.circle()` 函数在图像上绘制这四个点,并显示结果图像。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.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)
![](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)