OpenCV+python调用摄像头

在上一篇博文中已经介绍了如何安装使用python下的OpenCV,在这篇文章中介绍如何使用OpenCV调用摄像头。

本节内容参考了https://www.cnblogs.com/warcraft/p/8145894.html

读取摄像头

  • 使用opencv自带的VideoCapture()函数定义摄像头对象,其参数0表示第一个摄像头,一般就是笔记本的内建摄像头。
    cap = cv2.VideoCapture(0)
  • 在while循环中,利用摄像头对象的read()函数读取视频的某帧,并显示,然后等待1个单位时间,如果期间检测到了键盘输入q,则退出,即关闭窗口。
    while(1):
        # get a frame
        ret, frame = cap.read()
        # show a frame
        cv2.imshow("capture", frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
  • 调用release()释放摄像头,调用destroyAllWindows()关闭所有图像窗口。
    cap.release()
    cv2.destroyAllWindows() 
  • 完整代码

    import cv2
    import numpy as np
    
    cap = cv2.VideoCapture(0)
    while(1):
        # get a frame
        ret, frame = cap.read()
        # show a frame
        cv2.imshow("capture", frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break
    cap.release()
    cv2.destroyAllWindows()


对获取的图像进行初步处理

#摄像头并显示轮廓
import cv2
cap = cv2.VideoCapture(0)
i=0
while(1):
    ret, frame = cap.read()
    img_gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
    img_gb = cv2.GaussianBlur(img_gray, (5, 5), 0)
    edges = cv2.Canny(img_gb, 100 , 200)
    cv2.imshow("capture", edges)
    if cv2.waitKey(1) & 0xFF == ord('q'):       
        break
cap.release()
cv2.destroyAllWindows()









  • 5
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
在使用OpenCV-Python调用摄像头时,可以通过设置摄像头的分辨率来调节图像的质量。要设置摄像头的分辨率,可以使用OpenCV库中的`cv2.VideoCapture()`函数打开摄像头,并在打开摄像头后使用`cv2.VideoCapture().set()`方法来设置分辨率。例如,使用`cv2.VideoCapture(0).set(cv2.CAP_PROP_FRAME_WIDTH, 1280)`和`cv2.VideoCapture(0).set(cv2.CAP_PROP_FRAME_HEIGHT, 720)`来分别设置摄像头的宽度和高度为1280x720像素。这样就可以调节摄像头的分辨率了。你也可以使用fswebcam来调整摄像头的分辨率。安装fswebcam后,可以使用命令`fswebcam --no-banner -r 1280x720 -q img.jpg`来保存一张分辨率为1280x720的图片。这样就可以验证摄像头的分辨率是否调整成功了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [【CV】树莓派+OpenCV-python解决摄像头分辨率及帧率过低无法调整问题](https://blog.csdn.net/qq_42475234/article/details/126201152)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Python OpenCV设置摄像头分辨率](https://blog.csdn.net/update7/article/details/129680058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值