利用python开启自己的摄像头(cv2)

这篇博客介绍了如何利用Python的cv2库开启和操作摄像头。通过示例代码展示了如何读取摄像头视频流,实时显示图像,并设置热键q退出程序。在代码中,cv.waitKey(1)&0xFF==ord('q')的条件用于检测用户是否按下q键,以关闭程序。
摘要由CSDN通过智能技术生成

利用python开启自己的摄像头

今天有个朋友介绍做一个车牌识别系统,那么首先呢就是开启摄像头是吧,嘻嘻嘻

直接上源码


# -*- coding:utf8 -*-

# 导入cv2库
import cv2 as cv

 # 打开摄像头
cap = cv.VideoCapture(0) 

while (True):

	# 开始用摄像头读数据,返回hx为true则表示读成功,frame为读的图像
    hx, frame = cap.read() 
    
    # 如果hx为Flase表示开启摄像头失败,那么就输出"read vido error"并退出程序
    if hx is False: 
    	# 打印报错
        print('read video error')
        # 退出程序
        exit(0)
     
    # 显示摄像头图像,其中的video为窗口名称,frame为图像
    cv.imshow('video', frame)
    
    # 监测键盘输入是否为q,为q则退出程序
    if cv.waitKey(1) & 0xFF == ord('q'):       # 按q退出
        break

# 释放摄像头
cap.release()

# 结束所有窗口
cv.destroyAllWindows() 
  • 关于 if cv.waitKey(1) & 0xFF == ord(‘q’): 的解释:
  • cv.waitKey(1):这个表示每一秒(1的参数的作用)监测一下键盘上的输入,并转化成二进制
  • & : 运算符,进行AND运算
  • 0xFF:转化为二进制为0b111111111
  • ord():作用是将()里面的字符转化成 ASCII 数值,这里是将q转换为 ASCII 数值,也就是0b01110001
  • 总体效果:如果用户在莫一秒内按下“q”键盘按键,那么q的waitKeyre返回DECIMAL VALUE是113。在二进制中,它表示为0b01110001。接下来,执行AND运算符,两个输入分别是0b01110001和0xFF(0b111111111)。0b01110001和0b11111111做AND运算=0b01110001。确切的结果是DECIMAL VALUE的q。其次,将左表达式0b01110001的值与ord(‘q’)进行比较。显然,这些值与另一个值相同,就会执行break跳出循环
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刘帅0952

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值