精华内容
下载资源
问答
  • python获取usb摄像头图像。包括: 1.原图写字符; 2.转换为灰度图 3.二值化处理; 4.保存本地。
  • 【树莓派】使用python调用USB摄像头

    万次阅读 热门讨论 2018-08-22 10:09:13
    首先根据我之前的博客安装好摄像头需要的库。 然后代码如下: import os improt sys import re import commands a=commands.getoutput("fswebcam --no-banner -r 640x480 image3.jpg&...

    首先根据我之前的博客安装好摄像头需要的库。
    然后代码如下:

    import os
    import sys
    import re
    import commands
    
    a=commands.getoutput("fswebcam --no-banner -r 640x480 image3.jpg")
    print a
    

    运行结果如下

    >>> print a
    --- Opening /dev/video0...
    Trying source module v4l2...
    /dev/video0 opened.
    No input was specified, using the first.
    --- Capturing frame...
    Captured frame in 0.00 seconds.
    --- Processing captured image...
    Disabling banner.
    Writing JPEG image to 'image3.jpg'.
    
    

    同时在pi目录下会多一张名为image3.jpg的照片。
    在python3中将import commands删除且将
    a=commands.getoutput(“fswebcam --no-banner -r 640x480 image3.jpg”)
    改为a=os.system(“fswebcam --no-banner -r 640x480 image3.jpg”)即可
    因为commands在python3中被废弃了。

    展开全文
  • 今天小编就为大家分享一篇python3 使用Opencv打开USB摄像头,配置1080P分辨率的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 主要为大家详细介绍了树莓派用python中的OpenCV输出USB摄像头画面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Python+Opencv 调用USB摄像头(一)

    万次阅读 多人点赞 2019-04-07 21:51:00
    最简单的调用笔记本内置相机 import cv2 #引入库 cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() cv2.imshow("Video", frame) #读取内容 if cv2.waitKey(10) == ord("q"): break #随时准.....

    一.最简单的调用笔记本内置相机

    import cv2
    #引入库
    cap = cv2.VideoCapture(0)
    while True:
        ret, frame = cap.read()
        cv2.imshow("Video", frame)
    #读取内容
        if cv2.waitKey(10) == ord("q"):
            break
            
    #随时准备按q退出
    cap.release()
    cv2.destroyAllWindows()
    #停止调用,关闭窗口
    import cv2
    import os
    #引入库
    
    print("=============================================")
    print("=  热键(请在摄像头的窗口使用):             =")
    print("=  z: 更改存储目录                          =")
    print("=  x: 拍摄图片                              =")
    print("=  q: 退出                                  =")
    print("=============================================")
    #提醒用户操作字典
    
    class_name = input("请输入存储目录:")
    while os.path.exists(class_name):
        class_name = input("目录已存在!请输入存储目录:")
    os.mkdir(class_name)
    #存储
    
    index = 1
    cap = cv2.VideoCapture(0)
    width = 640
    height = 480
    w = 360
    cap.set(cv2.CAP_PROP_FRAME_WIDTH, width)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, height)
    crop_w_start = (width-w)//2
    crop_h_start = (height-w)//2
    print(width, height)
    #设置特定值
    
    while True:
        ret, frame = cap.read()
       
        frame = frame[crop_h_start:crop_h_start+w, crop_w_start:crop_w_start+w]
        #没理解?
    
        frame = cv2.flip(frame,1,dst=None)
        #镜像显示
        cv2.imshow("capture", frame)
        #显示
    
        input = cv2.waitKey(1) & 0xFF
        if input == ord('z'):
            class_name = input("请输入存储目录:")
            while os.path.exists(class_name):
                class_name = input("目录已存在!请输入存储目录:")
            os.mkdir(class_name)
        #存储
    
        elif input == ord('x'):
            cv2.imwrite("%s/%d.jpeg" % (class_name, index),
                        cv2.resize(frame, (224, 224), interpolation=cv2.INTER_AREA))
            print("%s: %d 张图片" % (class_name, index))
            index += 1
        #?
        if input == ord('q'):
            break
        #退出
            
    cap.release()
    cv2.destroyAllWindows()
        #关闭窗口

    参考博客:opencv_python版调用摄像头、显示内容 https://blog.csdn.net/yang123p/article/details/79831697

    python+openCV调用摄像头拍摄和处理图片 https://blog.csdn.net/weixin_43344725/article/details/83214833

    笔记:

    1.1、cap = cv2.VideoCapture(0)

    videoCapture(0) 参数0表示调用笔记本内置摄像头

    videoCapture("e:\emp\cp.avi") 参数路径 表示调用存储的视频

    videocapture有获得照相机的一切权利的感觉 所以后期可以用cap.read()对照相机的镜头取镜

    VideoCapture()中参数是0,表示打开笔记本的内置摄像头,参数是视频文件路径则打开视频,如cap = cv2.VideoCapture("../test.avi")

     

    1.2.ret frame  = cap.read()

    ret frame 是调用 cap.read()的两个返回值 read就是一直调用一直返回很多帧所以返回的好像是一个连续的视频,要保证一直调用,所以要一直返回一个true值使它不断继续调用,所以ret是一个布尔值,返回true则继续调用,返回false说明调用完毕或出现调用错误。关于frame就是每一帧的图像,是一个三维矩阵。frame是一个类似于文件夹/包,不断的读取一帧一帧的照片进去,到后面用到窗口显示时,再对frame进行解包,释放出一帧一帧的图像,就像视频一样。

     

    1.3.cv2.imshow("vedio",frame)

     

    1.4.关于frame (自己的理解,有待考证)

    有多少接收多少 有多少释放多少自带“循环”,不用外部给它循环从而输出视频,它的视频的显示和图像的显示基本是一样的 

     

    1.5.waitkey()函数功能: 

    cv2.waitKey顾名思义等待键盘输入,单位为毫秒,即等待指定的毫秒数看是否有键盘输入,若在等待时间内按下任意键则返回按键的ASCII码,程序继续运行。若没有按下任何键,超时后返回-1。参数为0表示无限等待。不调用waitKey的话,窗口会一闪而逝,看不到显示的图片

    1.6.显示图像cv2.imshow()

    使用函数cv2.imshow() 显示图像。窗口会自动调整为图像大小。第一个参数是窗口的名字,其次才是我们的图像。你可以创建多个窗口,只要你喜欢,但是必须给他们不同的名字。

    cv2.imshow('image',img)

    1.7.为什么使用Python-OpenCV

    虽然python 很强大,而且也有自己的图像处理库PIL,但是相对于OpenCV 来讲,它还是弱小很多。跟很多开源软件一样OpenCV 也提供了完善的python 接口,非常便于调用。OpenCV 的稳定版是2.4.8,最新版是3.0,包含了超过2500 个算法和函数,几乎任何一个能想到的成熟算法都可以通过调用OpenCV 的函数来实现,超级方便。

    1.8.大写+下划线"_"格式
     cv2.imread() 读入图像
     cv2.IMREAD_COLOR 加了一个模式(用彩色模式)
     cv2.IMREAD_GRAYSCALE 加了一个模式(用灰度模式)
     总结:当调用imread时 如果要用特定的模式 可以用下划线+大写这样特殊的表达以表示用特殊的
     模式调用imread 

    1.9.python语言没有switch 常用if elif

     

    二.常见操作

    参考:openCV-Python笔记二:视频捕获 https://blog.csdn.net/djcxym/article/details/52177220

    2.1关于propld

    可以使用函数 cap.get(propId) 来获得视频的一些参数信息。这里 propId 可以是 0 到 18 之间的任何整数。每一个数代表视频的一个属性,其中的一些值可以使用 cap.set(propId,value) 来修改,value 就是 你想要设置成的新值。

    例如,可以使用 cap.get(3) 和 cap.get(4) 来查看每一帧的宽和高。 默认情况下得到的值是 640X480。但是可以使用 cap.set(3,320) 和 cap.set(4,240) 来把宽和高改成 320X240。

    propId为以下值:[加粗为应用过的]
    CV_CAP_PROP_POS_MSEC Current position of the video file in milliseconds.
    CV_CAP_PROP_POS_FRAMES 0-based index of the frame to be decoded/captured next.
    CV_CAP_PROP_POS_AVI_RATIO Relative position of the video file: 0 - start of the film, 1 - end of the film.
    CV_CAP_PROP_FRAME_WIDTH Width of the frames in the video stream.
    CV_CAP_PROP_FRAME_HEIGHT Height of the frames in the video stream.

    CV_CAP_PROP_FPS Frame rate.
    CV_CAP_PROP_FOURCC 4-character code of codec.
    CV_CAP_PROP_FRAME_COUNT Number of frames in the video file.
    CV_CAP_PROP_FORMAT Format of the Mat objects returned by retrieve() .
    CV_CAP_PROP_MODE Backend-specific value indicating the current capture mode.
    CV_CAP_PROP_BRIGHTNESS Brightness of the image (only for cameras).
    CV_CAP_PROP_CONTRAST Contrast of the image (only for cameras).
    CV_CAP_PROP_SATURATION Saturation of the image (only for cameras).
    CV_CAP_PROP_HUE Hue of the image (only for cameras).
    CV_CAP_PROP_GAIN Gain of the image (only for cameras).
    CV_CAP_PROP_EXPOSURE Exposure (only for cameras).
    CV_CAP_PROP_CONVERT_RGB Boolean flags indicating whether images should be converted to RGB.
    CV_CAP_PROP_WHITE_BALANCE Currently unsupported
    CV_CAP_PROP_RECTIFICATION Rectification flag for stereo cameras (note: only supported by DC1394 v 2.x backend cur- rently)
     

    三.Python3 opencv 连接 usb 摄像头 

    import cv2
    
    #调用usb摄像头
    cap = cv2.VideoCapture(camera_id)
    cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
    cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
    
    cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter.fourcc("M","J","P","G")) #?1为啥要重设
    
    #显示
    while True:
        ret, frame = cap.read() 
        cv2.imshow("window1",frame)
        
        if cv2.waitKey(1)&0xFF == ord("q"):
            break
            
    #关闭
    cap.release()        
    cv2.destroyAllWindows()
    

    参考博客 Python3 opencv 链接 usb 摄像头 https://blog.csdn.net/weixin_42271658/article/details/82874524 

    3.1.fourcc

    视频播放软件通过查询 FourCC 代码并且寻找与 FourCC 代码相关联的视频解码器来播放特定的视频流

    3.2.time.time() 返回当前的时间戳

    http://www.runoob.com/python/att-time-time.html

     

    四.参考

    Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()

    https://blog.csdn.net/winner_looser/article/details/81162052

    OpenCV中cv2.waitKey()相关

    https://www.jianshu.com/p/cf1d12a070fe?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    openCV-Python笔记二:视频捕获

    https://blog.csdn.net/djcxym/article/details/52177220

    fourcc (four caractor code 四符代码)

    https://baike.baidu.com/item/fourcc/6168470?fr=aladdin

     

     

     

     

     

     

    展开全文
  • 代码实现功能:调用USB接口的摄像头;读取其中一帧内容并保存本地。 程序如下: import cv2def read_show(): cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) fourcc = cv2.VideoWriter_fourcc(*'XVID') out = cv2....

    环境:python3.6,opencv4.4.0 

    代码实现功能:调用USB接口的摄像头;读取其中一帧内容并保存本地。

    程序如下:

    import cv2
    def read_show():

        cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)
        fourcc = cv2.VideoWriter_fourcc(*'XVID')
        out = cv2.VideoWriter(
    'output.avi', fourcc, 25, (640,480))
        index =
    1
       
    while(cap.isOpened()):
            ret
    , frame = cap.read()
            out.write(frame)
            cv2.imshow(
    '自定义, frame)
            k = cv2.waitKey(
    0) & 0xFF
           
    if k == ord("q"):
               
    break
            elif
    k == ord('s'):
                cv2.imwrite(
    '自定义保存路径+图片命名' + str(index) + ".jpg", frame)
                index +=
    1
       
    cap.release()
        cv2.destroyAllWindows()

    if __name__ == '__main__':
        read_show()

     主要代码介绍:

    (1)cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)

    通过参数0,1,2调用摄像头,也可以填写路径调用本地存储视频,后面的语句是对cv2的重置。

     (2)fourcc = cv2.VideoWriter_fourcc(*'XVID')

     (3)out = cv2.VideoWriter('output.avi', fourcc, 25, (640,480))

    程序展示的是.avi格式视频的导入 ,25为FPS帧率,(640,480)为视频尺寸。不同格式视频导入略有差异,如:.mp4格式对应*‘mp4v’、‘output.mp4’;.flv格式对应*‘flv1’、‘output.flv’。

    (4)  ret, frame = cap.read()

      (5)  out.write(frame)

    获取摄像头的画面,ret与frame是返回值,作用分别为:ret值决定了是否继续调用,布尔值;frame类似于实际的显示内容,后面可以将frame内容用cv2.imshow进行窗口显示。

     (6)if k == ord("q"):

     (7)elif k == ord('s'):

    用if判断语句实现退出和保存功能,按q键退出;按s键将该帧画面保存本地指定路径。 

    展开全文
  • Python+Opencv 调用USB摄像头(二)

    千次阅读 2019-04-21 12:05:22
    目录 一.... 二.... ...2.3.必须用相机自带SDK(SoftwareDevelopmentKit)软件开发工具...继Python+Opencv 调用USB摄像头(一)结尾代码,发现调用不了,换了一个相机,还是不行. 测试代码: import cv2 cams_test = 10...

    目录

     

    一.问题

    二.问题分析

    2.0.分析

    2.1.协议问题

    2.2驱动问题

    2.3.必须用相机自带SDK(Software Development Kit)软件开发工具包调用相机

    三.相关拓展


    一.问题

    Python+Opencv 调用USB摄像头(一)结尾代码,发现调用不了,换了一个相机,还是不行.

    测试代码:

    import cv2
    cams_test = 10
    for i in range(0, cams_test):
        cap = cv2.VideoCapture(i)
        test, frame = cap.read()
        print("i : "+str(i)+" /// result: "+str(test))    

     只有0是ture即笔记本自带相机

    i : 0 /// result: True
    support SSE4.1
    i : 1 /// result: False
    [ WARN:0] terminating async callback
    i : 2 /// result: False
    i : 3 /// result: False
    i : 4 /// result: False
    i : 5 /// result: False
    i : 6 /// result: False
    i : 7 /// result: False
    i : 8 /// result: False
    i : 9 /// result: False

    用(一)结尾代码(ps:这段代码把1改为0是可以运行的,能调出笔记本的摄像头),出现这个错误提示

    • 错误:assertion faile 断言失败

    二.问题分析

    2.0.分析

    2.1.协议问题

    2.2驱动问题

    打开硬件管理器

     

     

     

    似乎也不是驱动的问题。。

     

    2.3.必须用相机自带SDK(Software Development Kit)软件开发工具包调用相机

    2.3.1猜测:

    2.3.2 SDK里有啥子

    • API(Application Programming Interface,应用编程接口)其实就是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API而使操作系统去执行应用程序的命令(动作)。
    • DLL (Dynamic Link Library, 动态链接库)
    • 在 Windows 环境下含有大量 .dll格式的文件,这些文件就是动态链接库文件,其实也是一种可执行文件格式。跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等。其实 Windows 的三大模块就是以DLL的形式提供的(Kernel32.dll,User32.dll,GDI32.dll),里面就含有了 API函数的执行代码。为了使用 DLL 中的 API 函数, 必须要有 API 函数的声明(.h)和其导入库(.lib),导入库可以先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。
    • 为了使用 API 函数,我们就要有跟 API 所对应的 .h 和 .lib 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。
    • SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做 “SDK编程”。而API和 SDK 是开发Windows应用程序所必需的东西,所以其它编程框架和类库都是建立在它们之上的,比如VCL 和MFC,虽然他们比起 “SDK 编程” 来有着更高的抽象度,但这丝毫不妨碍我们在需要的时候随时直接调用 API 函数 

    2.3.3 相关帖子1

    •  解决方案

    ???懵逼
     

    2.3.4 相关帖子2

    ???????????

    2.3.5 相关文章3

    2.3.6 是否可以用SDK里的ddl调用相机??

    2.3.7* 海康威视网络摄像头SDK中Demo的二次开发

    2.3.8 一篇不明觉厉的博客

    三.相关拓展

     

     

    展开全文
  • 二、Python打开USB摄像头并保存图片程序 一、USB摄像头与电脑摄像头有何不同? (我是菜鸟,如下文章中若有错误,还希望各位大佬指正!谢谢!) 我理解的是没啥不同。。有些电脑是没有自带摄像头的,所以常常会连接...
  • Python调用摄像头

    2021-02-04 14:58:55
    一、打开摄像头import cv2import numpy as npdef video_demo():capture = cv2.VideoCapture(0)#0为电脑内置摄像头while(True):ret, frame = capture.read()#摄像头读取,ret为是否成功打开摄像头,true,false。...
  • 查看摄像头相关信息: lsusb 拍照测试: fswebcam -d /dev/video0 --no-banner -r 720x480 /home/pi/image.jpg -d表示调用的设备,-no-banner不加会字体报错,-r是图片分辨率信息   延时拍照: fs...
  • 主要为大家详细介绍了Python通过cv2读取多个USB摄像头,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • pycharm工程python调用OpenCV实现USB摄像头实时人脸检测,统计每帧人脸检测消耗的时间,并实时保存人脸截图
  • 今天小编就为大家分享一篇python+opencv打开摄像头,保存视频、拍照功能的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 一个是python 2.7,需要安装numpy支持;另一个是获取摄像头会用到opencv,opencv是计算机视觉库(树莓派安装的是最新的3.5版本opencv)。二、实现过程ython通过opencv 模块来打开摄像头,代码精简,比较容易理解;整体...
  • C++部分`#include<opencv2/opencv.hpp> #include<stdlib.h> using namespace cv;... //打开摄像头 if (!cap.isOpened())//如果视频不能正常打开则返回 return; cvWaitKey(30); int fp
  • python+OpenCV调用摄像头接口打造家庭安防系统
  • 教你如何利用python调用摄像头

    千次阅读 2020-10-13 09:01:46
    这篇文章主要介绍了python调用摄像头的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 一、打开摄像头 import cv2 import numpy as np def video_demo(): capture = cv2.VideoCapture(0)...
  • 树莓派python3+opencv调用usb摄像头显示并保存直接上代码运行指令运行结果 直接上代码 camera.py import cv2 import numpy as np name = 0 cap = cv2.VideoCapture(0) cap.set(3,640) cap.set(4,480) ret, frame...
  • /usr/bin/env python3 # -*- coding:utf-8 -*- import cv2 import numpy as np name = 0 cap = cv2.VideoCapture(0) cap.set(3,640) cap.set(4,480) ret, frame = cap.read() rows, cols, channels...
  • python双目摄像头调用

    2020-03-24 10:48:14
    打开双目摄像头,进行拍照,并保存到相应文件夹内,主要用于双目标定的前期工作,另外附有一个常用的python小程序:批量重命名
  • 最近入了一块树莓派,想让其实现摄像头调用,因此写下此博客备忘 一、树莓派网络的配置 首先,对树莓派进行网络配置,否则就无法进行软件的安装 我们知道,ifconfig命令可以修改ip地址、子网掩码等信息,但是当...
  • 0, "bl") cmd="shut" Image = pygame.image.load(filename) #screen.fill(0,0,200) screen.blit(Image, (0,0)) pygame.display.update() time.sleep(SLEEP_TIME_LONG) 以上这篇python 简单照相机调用系统摄像头实现...
  • 因为RK3399pro+fadora系统的/dev/video0口被占用,使用python3+opencv无法读取摄像头数据,所以使用过 v4l2调用USB摄像头
  • python3调用USB高帧率摄像头

    千次阅读 2019-04-18 11:16:59
    1.v4l2调用高帧率摄像头 python2.x版本的v4l2capture很简单,源码在这里 执行:./setup.py build 执行:sudo ./setup.py install python3.x版本的v4l2capture,需要将.c里面的#include <Python.h>改成当前...
  • 摄像头为罗技c930e。使用下面代码安装guvcview,在/dev下输入guvcview命令就可以了!是不是很简单, 比cheese好使哦~ $ sudo add-apt-repository ppa:pj-assis/ppa $ sudo apt-get update $ sudo apt-get ...
  • Mac 下使用python调用电脑摄像头

    千次阅读 2019-07-10 18:26:34
    废话不多说啦,直接上代码(直接...pip3 install opencv-python 按下s键盘是保存的,图片路径是绝对路径,具体可以根据你的需要而来 import cv2 cap = cv2.VideoCapture(0) i = 0 while (1): ret, frame = c...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,831
精华内容 732
关键字:

python调用usb摄像头

python 订阅