用python打开电脑摄像头,提取物体轮廓并显示同时也显示原始数据以作对比
时间: 2024-05-02 21:21:33 浏览: 102
以下是使用Python打开电脑摄像头,提取物体轮廓并显示同时也显示原始数据的代码示例:
```python
import cv2
# 打开电脑摄像头
cap = cv2.VideoCapture(0)
while True:
# 读取每一帧
ret, frame = cap.read()
# 转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 进行二值化处理
ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
# 查找轮廓
contours, hierarchy = cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
# 绘制轮廓
cv2.drawContours(frame, contours, -1, (0, 255, 0), 2)
# 显示原始数据和处理后的图像
cv2.imshow('Original', frame)
cv2.imshow('Binary', binary)
# 按下q键退出
if cv2.waitKey(1) == ord('q'):
break
# 释放摄像头并关闭窗口
cap.release()
cv2.destroyAllWindows()
```
在代码中,我们首先打开电脑摄像头,然后循环读取每一帧图像。对于每一帧图像,我们将其转换为灰度图像,并进行二值化处理,以便查找轮廓。然后,我们使用cv2.findContours()函数查找轮廓,并使用cv2.drawContours()函数绘制轮廓。最后,我们使用cv2.imshow()函数显示原始数据和处理后的图像,并使用cv2.waitKey()函数等待用户按下q键来退出循环。最后,我们释放摄像头并关闭窗口。
阅读全文