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

Python之王

共 1548字,需浏览 4分钟

 ·

2020-12-05 17:51


「@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。

opencv调用USB摄像头

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

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

'''
@Author:Runsen
@WeChat:RunsenLiu
@微信公众号:Python之王
@CSDN:https://blog.csdn.net/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()

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

img_path = "./screenshot.jpg"
img_path_gray = "./screenshot_gray.jpg"

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


Reference

[1]

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



更多的文章

点击下面小程序


- END -

浏览 53
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报