OpenCV 是计算机视觉领域最流行的库之一。假设你已经完成了环境安装,下面直接切入核心功能,聊聊如何用 Python 调用摄像头、播放本地视频以及录制视频。
1. 利用 OpenCV 打开摄像头
要启动摄像头,核心是创建 VideoCapture 对象。参数 0 代表默认摄像头编号,如果电脑连接了多个设备,可以尝试传入 1 或更高数字来切换。
import cv2
capture = cv2.VideoCapture(0)
while True:
# read() 返回两个值:ret 和 frame
# ret 是布尔值,表示帧是否成功获取
ret, frame = capture.read()
if not ret:
break
# 显示图像窗口,第一个参数是窗口标题
cv2.imshow('frame', frame)
# 等待按键,1ms 后刷新,按 'q' 退出
if cv2.waitKey(1) == ord('q'):
break
capture.release()
cv2.destroyAllWindows()
关于灰度图: 如果想看黑白画面,只需在显示前加一步颜色转换。cv2.cvtColor() 负责将 BGR 转为 Gray(灰度)。
# ... 上面代码保持不变 ...
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('frame', gray) # 这里显示灰度图
# ... 后续逻辑不变 ...
属性控制: 除了读取,还能通过 get() 和 set() 调整摄像头参数,比如分辨率、亮度等。propId 对应不同的属性 ID(0~18),具体数值可查阅官方文档。
capture = cv2.VideoCapture(0)
# 获取当前宽度和高度
width = int(capture.get(cv2.CAP_PROP_FRAME_WIDTH))
height = int(capture.get(cv2.CAP_PROP_FRAME_HEIGHT))
print(f"当前分辨率:{width}x{height}")
# 尝试设置分辨率(注意:并非所有摄像头都支持自定义分辨率)
# capture.set(cv2.CAP_PROP_FRAME_WIDTH, width * 2)

