opencv保存图像_五十、opencv调用USB摄像头并保存图片

本文介绍了如何使用OpenCV库调用USB摄像头,并通过VideoCapture类实现图像捕获,同时展示了如何利用imwrite函数保存图片。在运行代码后,可以观察到摄像头实时画面,并能成功保存图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ab51ade08c493818bc0d19459811a3f3.png

「@Author:Runsen」

opencv

OpenCV是计算机视觉的一个模块。

OpenCV可以通过图像处理减少图像噪声,调整图像亮度、颜色或者对比度等等。想要进一步系统了解OpenCV图像处理基础知识,查看官方文档:https://docs.opencv.org/3.1.0 和 https://www.w3cschool.cn/opencv。个人只会调包,不是什么计算机视觉高手。

安装Opencv。在https://www.lfd.uci.edu/~gohlke/pythonlibs/下载对应的whl进行pip install。

a22f6bef2ab3eec17abab56d971d9730.png

opencv调用USB摄像头

如果系统没有预装usb摄像头的驱动,那么根据所用的摄像头安装相应的驱动即可。

opencv调用USB摄像头的类是VideoCapture,while True的死循环一直开摄像头,waitKey来监听按键即可,最后使用imwrite保存图片。

'''
@Author:Runsen
@WeChat:RunsenLiu
@微信公众号:Python之王
@优快云:https://blog.youkuaiyun.com/weixin_44510615
@Github:https://github.com/MaoliRUNsen
@Date:2020/11/29
'''
import cv2 as cv
# 调用内置摄像头,所以参数为0,如果有其他的摄像头可以调整参数为1,2
cap = cv.VideoCapture(0)
img_path = "./screenshot.jpg"
img_path_gray = "./screenshot_gray.jpg"
while True:
    # 从摄像头读取图片
    sucess, img = cap.read()
    # 转为灰度图片s
    gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
    # 显示摄像头
    cv.imshow('----------please enter "s" to take a picture----------', img)
    # 保持画面的持续,无限期等待输入
    k = cv.waitKey(1)
    # k == 27 通过esc键退出摄像 ESC(ASCII码为27)
    if k == 27:
        cv.destroyAllWindows()
        break
    elif k == ord("s"):
        # 通过s键保存图片,并退出。
        cv.imwrite(img_path, img)
        cv.imwrite(img_path_gray, gray)
        cv.destroyAllWindows()
        break
# 关闭摄像头
cap.release()

运行上面的代码,效果如下。

0cdd68846dfcf05b17acf3c9ef7e39e4.png
7b5edc45ceccc669e00dc94f14ab4330.png
img_path = "./screenshot.jpg"
c9dfe448c412fcfd300c5c71ae67172e.png
img_path_gray = "./screenshot_gray.jpg"

本文已收录 GitHub,传送门~[1] ,里面更有大厂面试完整考点,欢迎 Star。

Reference

[1]

传送门~: https://github.com/MaoliRUNsen/runsenlearnpy100

更多的文章

点击下面小程序

8c376e957874bc52d45b10bd54b00b56.png

- END -

27a2dd9681486ce058fffcf857a5e82e.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值