精华内容
下载资源
问答
  • 2021-01-13 05:30:09

    一、打开摄像头

    import cv2

    import numpy as np

    def video_demo():

    capture = cv2.VideoCapture(0)#0为电脑内置摄像头

    while(True):

    ret, frame = capture.read()#摄像头读取,ret为是否成功打开摄像头,true,false。 frame为视频的每一帧图像

    frame = cv2.flip(frame, 1)#摄像头是和人对立的,将图像左右调换回来正常显示。

    cv2.imshow("video", frame)

    c = cv2.waitKey(50)

    if c == 27:

    break

    video_demo()

    cv2.destroyAllWindows()

    二、打开摄像头并截图

    import cv2

    cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 打开摄像头

    while (1):

    # get a frame

    ret, frame = cap.read()

    frame = cv2.flip(frame, 1) # 摄像头是和人对立的,将图像左右调换回来正常显示

    # show a frame

    cv2.imshow("capture", frame) # 生成摄像头窗口

    if cv2.waitKey(1) & 0xFF == ord('q'): # 如果按下q 就截图保存并退出

    cv2.imwrite("test.png", frame) # 保存路径

    break

    cap.release()

    cv2.destroyAllWindows()

    三、打开摄像头并实时自动不断截屏

    def video_demo():

    print('开始')

    cap = cv2.VideoCapture(0, cv2.CAP_DSHOW) # 电脑自身摄像头

    i = 0#定时装置初始值

    photoname = 1#文件名序号初始值

    while True:

    i = i + 1

    reg, frame = cap.read()

    frame = cv2.flip(frame, 1) # 图片左右调换

    cv2.imshow('window', frame)

    if i == 50: # 定时装置,定时截屏,可以修改。

    filename = str(photoname) + '.png' # filename为图像名字,将photoname作为编号命名保存的截图

    cv2.imwrite('C:/Users/Administrator/Desktop/m' + '\\' + filename, frame) # 截图 前面为放在桌面的路径 frame为此时的图像

    print(filename + '保存成功') # 打印保存成功

    i = 0 # 清零

    photoname = photoname + 1

    if photoname >= 20: # 最多截图20张 然后退出(如果调用photoname = 1 不用break为不断覆盖图片)

    # photoname = 1

    break

    if cv2.waitKey(1) & 0xff == ord('q'):

    break

    # 释放资源

    cap.release()

    video_demo()

    cv2.destroyAllWindows()

    更多相关内容
  • 如下所示: import cv2 import numpy as np bins = np.arange(256).reshape(256,1) def hist_curve(im): h = np.zeros((300,256,3)) if len(im.shape) == 2: color = [(255,255,255)] elif im.shape[2] == 3: ...
  • 0x01 OpenCV安装  通过命令pip install opencv-python 安装 pip install opencv-python 0x02 示例 import cv2 cap = cv2.VideoCapture(0) #... if cv2.waitKey(1) & 0xFF == ord('q'): #如果按下q 就截图保存退出
  • 一、打开摄像头 import cv2 import numpy as np def video_demo(): ... frame = cv2.flip(frame, 1)#摄像头是和人对立的,将图像左右调换回来正常显示。 cv2.imshow(video, frame) c = cv2.waitKey
  • _name__ == '__main__': import sys if len(sys.argv)>1: im = cv2.imread(sys.argv[1]) else : im = cv2.imread('../cpp/lena.jpg') print "usage : python hist.py " gray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY) ...

    import cv2 import numpy as np bins = np.arange(256).reshape(256,1) def hist_curve(im):     h = np.zeros((300,256,3))     if len(im.shape) == 2:         color = [(255,255,255)]     elif im.shape[2] == 3:         color = [ (255,0,0),(0,255,0),(0,0,255) ]     for ch, col in enumerate(color):         hist_item = cv2.calcHist([im],[ch],None,[256],[0,256])         cv2.normalize(hist_item,hist_item,0,255,cv2.NORM_MINMAX)         hist=np.int32(np.around(hist_item))         pts = np.int32(np.column_stack((bins,hist)))         cv2.polylines(h,[pts],False,col)     y=np.flipud(h)     return y def hist_lines(im):     h = np.zeros((300,256,3))     if len(im.shape)!=2:         print "hist_lines applicable only for grayscale images"         #print "so converting image to grayscale for representation"         im = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)     hist_item = cv2.calcHist([im],[0],None,[256],[0,256])     cv2.normalize(hist_item,hist_item,0,255,cv2.NORM_MINMAX)     hist=np.int32(np.around(hist_item))     for x,y in enumerate(hist):         cv2.line(h,(x,0),(x,y),(255,255,255))     y = np.flipud(h)     return y if __name__ == '__main__':     import sys     if len(sys.argv)>1:         im = cv2.imread(sys.argv[1])     else :         im = cv2.imread('../cpp/lena.jpg')         print "usage : python hist.py "     gray = cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)     print ''' Histogram plotting \n     Keymap :\n     a - show histogram for color image in curve mode \n     b - show histogram in bin mode \n     c - show equalized histogram (always in bin mode) \n     d - show histogram for color image in curve mode \n     e - show histogram for a normalized image in curve mode \n     Esc - exit \n     '''     cv2.imshow('image',im)     while True:         k = cv2.waitKey(0)&0xFF         if k == ord('a'):             curve = hist_curve(im)             cv2.imshow('histogram',curve)             cv2.imshow('image',im)             print 'a'         elif k == ord('b'):             print 'b'             lines = hist_lines(im)             cv2.imshow('histogram',lines)             cv2.imshow('image',gray)         elif k == ord('c'):             print 'c'             equ = cv2.equalizeHist(gray)             lines = hist_lines(equ)             cv2.imshow('histogram',lines)             cv2.imshow('image',equ)         elif k == ord('d'):             print 'd'             curve = hist_curve(gray)             cv2.imshow('histogram',curve)             cv2.imshow('image',gray)         elif k == ord('e'):             print 'e'             norm = cv2.normalize(gray,alpha = 0,beta = 255,norm_type = cv2.NORM_MINMAX)             lines = hist_lines(norm)             cv2.imshow('histogram',lines)             cv2.imshow('image',norm)         elif k == 27:             print 'ESC'             cv2.destroyAllWindows()             break     cv2.destroyAllWindows()

    展开全文
  • 主要为大家详细介绍了Python调用摄像头拍摄数据集,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 主要介绍了Python OpenCV 调用摄像头并截图保存功能,本文通过两段实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • 一个简单的程序,将摄像头实时图像利用python语言在窗口中显示
  • python双目摄像头调用

    2020-03-24 10:48:14
    打开双目摄像头,进行拍照,保存到相应文件夹内,主要用于双目标定的前期工作,另外附有一个常用的python小程序:批量重命名
  • 调用电脑自带摄像头,每隔一段时间进行拍照存储在电脑中
  • python调用摄像头摄像

    2018-08-27 16:15:04
    采用python进行摄像头调用,实现实时显示、按键存储的功能,便于后期python对实时成像的图像进行后处理。
  • Python 调用摄像头

    2020-11-21 00:26:06
    拍一张照片from VideoCapture import Devicecam = Device()cam.saveSnapshot('image.jpg')举例-持续拍照进行人脸识别(人脸识别参考百度AI接口调用)from VideoCapture import Deviceimport time, osim...

    环境搭建

    使用方法

    Device()

    调用一个设备

    saveSnapshot()

    拍下照片

    举例-拍一张照片

    from VideoCapture import Device

    cam = Device()

    cam.saveSnapshot('image.jpg')

    举例-持续拍照并进行人脸识别

    (人脸识别参考百度AI接口调用)

    from VideoCapture import Device

    import time, os

    import requests

    import base64

    def get_access_token():

    api_key = '' #在这里填入自己的key

    secret_key = ''

    url = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + str(api_key) + '&client_secret=' + str(secret_key)

    try:

    res = eval(requests.get(url).text)

    return res['access_token']

    except:

    print("access_token获取失败")

    os.system("pause")

    def capture_photo():

    try:

    cam = Device()

    cam.saveSnapshot('image.jpg')

    except:

    print("拍照功能出错")

    def search_face(access_token):

    face_search = 'https://aip.baidubce.com/rest/2.0/face/v3/search' + '?access_token=' + str(access_token)

    header = {

    'Content-Type':'application/json'

    }

    data = {

    "image_type":"BASE64",

    "group_id_list":"group_1", #这个要在人脸识别的应用里创建人脸库,并添加相应图片

    #这里弄了几个明星的照片

    }

    with open('image.jpg', 'rb') as f:

    image = base64.b64encode(f.read())

    data["image"] = str(image, 'utf-8')

    try:

    res2 = eval(requests.post(url=face_search, data=data, headers=header).text)

    #转成dict

    print(res2)

    if res2['error_code'] == 110:

    access_token_new = get_access_token()

    return access_token_new

    print("识别结果:", res2["result"]["user_list"][0]["user_id"])

    print("准确率:", res2["result"]["user_list"][0]["score"])

    except:

    pass

    if __name__ == '__main__':

    access_token = get_access_token()

    access_token_new = ''

    while True:

    capture_photo()

    if access_token_new: #access_token过期

    access_token = access_token_new

    access_token_new = search_face(access_token)

    展开全文
  • 本文实例为大家分享了Python OpenCV调用摄像头检测人脸截图的具体代码,供大家参考,具体内容如下 注意:需要在python中安装OpenCV库,同时需要下载OpenCV人脸识别模型haarcascade_frontalface_alt.xml,模型可在...
  • Python 如何调用摄像头

    千次阅读 2022-04-23 14:23:00
    Python 如何调用摄像头

    Python 如何调用摄像头

    完整代码

    import cv2
    cap = cv2.VideoCapture(0)
    while(cap.isOpened()):
        retval, frame = cap.read()
        cv2.imshow('Live', frame)
        if cv2.waitKey(5) >= 0:
            break
    

    Python 如何调用摄像头

    正常结果

    正常结果:显示出摄像头看到的东西,按任意键窗口才关闭。上述代码在环境在Windows 11,Python 版本 3.9.6下调试通过。以下逐句分析。

    逐句分析

    import cv2
    

    遇到问题:ModuleNotFoundError: No module namedcv2
    没有模块称作cv2。python需要用到opencv-python模块。可在命令行模式输入:

    pip install opencv-python -i https://pypi.douban.com/simple/
    

    -i参数不是必须的。但在这里用-i指定豆瓣源作为依赖下载源速度会更快。

    cap = cv2.VideoCapture(0)
    

    声明使用的是默认摄像头,从0依次寻找。具体细节可依照官网docs.opencv.org/3.4/d8/dfe/classcv_1_1VideoCapture.html 的说明。

    while(cap.isOpened()):
    

    摄像头状态是开的话不断地刷新。刷新的具体时间写在后面的waitKey()方法中。

    retval, frame = cap.read()
    

    依照官网的说明,在刷新的时候设置两个参数接收读取read方法后的返回,尽管retral后面不会用到。

    cv2.imshow('Live', frame)
    

    imshow()方法将读取后的内容展示出来。窗口命名Live。

    if cv2.waitKey(5) >= 0:
        break
    

    waitKey()方法是短暂停留5毫秒等待一个输入。依照官网的说明,必须这样配合,画面才能够显示出来。若没有这样的等待,那么只会见到因刷新太快而出现的一个灰色窗口。等待的输入可以是键盘的按键,按照ASCII码表组合,0 以上整数表示任意键。比如27是Esc键、81是Q键,如此类推。
    ASCII码
    (图片来源:theasciicode.com.ar)

    以上就是 Python调用摄像头的入门了。具体方法和功能可参考 OpenCV官网 docs.opencv.org

    展开全文
  • 编写小程序之前,我们需要安装几个包程序代码如下:import cv2import tkinter as tkfrom tkinter import filedialog#文件控件from PIL import Image, ImageTk#图像控件import ...tk.Tk()window.title(‘摄像头’)s...
  • 前期可以去GitHub上面下载好人脸识别的特征文件 import cv2 import numpy as np face_cascade = cv2.CascadeClassifier( r"D:\opencv\sources\data\haarcascades\haarcascade_frontalface_default.xml") ...
  • python+OpenCV调用摄像头接口打造家庭安防系统
  • 今天小编就为大家分享一篇利用python打开摄像头及颜色检测方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • windows下python3.7调用海康威视网络摄像头sdk CH-HCNetSDKV6.1.4.42_build20200527_win64
  • 这篇文章主要介绍了python调用摄像头的示例代码,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 一、打开摄像头import cv2 import numpy as np def video_demo(): capture = cv2.VideoCapture(0)#0为电脑...
  • 主要为大家详细介绍了python opencv调用笔记本摄像头,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,917
精华内容 5,166
关键字:

python调用摄像头并显示