提取多个二维码轮廓并计算轮廓中心点
时间: 2024-01-24 17:04:51 浏览: 35
要提取多个二维码的轮廓并计算轮廓中心点,可以按照以下步骤进行:
1. 读取图像并转换为灰度图像。
2. 对灰度图像进行二值化处理,将二维码部分变为白色,其他部分变为黑色。
3. 使用cv2.findContours()函数寻找轮廓,并将其存储在一个列表中。
4. 遍历轮廓列表,使用cv2.moments()函数计算每个轮廓的中心点坐标。
5. 将中心点坐标绘制到原图像上。
6. 显示绘制了中心点的图像。
下面是Python代码示例:
```python
import cv2
# 读取图像并转换为灰度图像
img = cv2.imread('qrcodes.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 对灰度图像进行二值化处理
_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 寻找轮廓并存储在一个列表中
contours, _ = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 遍历轮廓列表,计算每个轮廓的中心点坐标并绘制到原图像上
for contour in contours:
# 计算轮廓的中心点坐标
moments = cv2.moments(contour)
cx = int(moments['m10'] / moments['m00'])
cy = int(moments['m01'] / moments['m00'])
center = (cx, cy)
# 在原图像上绘制中心点
cv2.circle(img, center, 5, (0, 0, 255), -1)
# 显示绘制了中心点的图像
cv2.imshow('Contours', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
运行以上代码后,会显示绘制了中心点的原图像。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)