python端点检测代码
时间: 2024-12-26 13:25:13 浏览: 7
### Python 实现端点检测
对于端点检测,在处理图像中的线条或其他几何形状时非常重要。OpenCV提供了强大的工具来完成这一任务。下面展示了一个简单的例子,该例子展示了如何利用`cv2.findContours()`函数找到并绘制轮廓[^3]。
```python
import cv2
import numpy as np
# 创建一个黑色背景上的白色矩形图像作为示例输入
img = np.zeros((512, 512, 3), dtype=np.uint8)
cv2.rectangle(img, (100, 100), (400, 400), color=(255, 255, 255), thickness=-1)
# 将彩色图像转换为灰度图像
gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 使用Canny边缘检测器获取边缘映射
edges = cv2.Canny(gray_img, threshold1=100, threshold2=200)
# 查找所有的轮廓
contours, hierarchy = cv2.findContours(edges.copy(), mode=cv2.RETR_TREE, method=cv2.CHAIN_APPROX_SIMPLE)
# 绘制所有发现的轮廓到原始图像上
cv2.drawContours(image=img, contours=contours, contourIdx=-1, color=(0, 255, 0), thickness=2)
# 显示结果图片
cv2.imshow('Detected Contours', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述代码创建了一幅简单的人工合成图像——在一个纯黑背景下画有一个白色的正方形区域;接着通过调用`cv2.findContours()`提取了这个图形对象周围的轮廓信息,并最终把这些轮廓可视化出来。此过程同样适用于更复杂的实际场景下的物体边界探测工作。
阅读全文