python opencv:无法捕捉风

2024-10-03 04:37:47 发布

您现在位置:Python中文网/ 问答频道 /正文

对不起,我把镜像部分贴在了worging的地方,由于镜像部分的框架是空的,所以我在运行时把它变成了一个注释

看起来像我的上限读数()无法读取任何内容

这是一个非常简单的opencv python代码,用于捕捉窗口并使网络摄像机工作。但当我运行它时,没有显示窗口,但也没有显示bug。我怎么能轻易知道出了什么问题?在

我怎么知道摄像头是0还是什么? 为什么镜子部分不起作用? 有人能给我推荐一些关于python上opencv的好例子吗? 谢谢您!!在

import cv2

def capture_camera(mirror=True, size=None):
    cap = cv2.VideoCapture(0)

    while True:
        ret, frame = cap.read()
        #if mirror is True:
            #frame = frame[:,::-1]
        if size is not None and len(size) == 200:
            frame = cv2.resize(frame, size)
            cv2.imshow('camera capture', frame)
            k = cv2.waitKey(100)
            if k == 27: 
                break
    cap.release()
    cv2.destroyAllWindows()

capture_camera()

Tags: nonetruesize镜像ifismirror地方
2条回答

您的代码未在if语句下面执行

    if size is not None and len(size) == 200:

因为size是tuple,len(size)将返回2,因为您定义了

^{pr2}$

第二个错误:在初始化帧数组之前,您正在更改它。 首先你需要得到帧数组,它由返回上限读数()然后检查mirror是否为True如果是,则按frame=frame[:,::-1]反转数组

请尝试以下代码:

import cv2

def capture_camera(mirror=True, size=None):
    cap = cv2.VideoCapture(0)

    while True:
        ret, frame = cap.read()
        if mirror is True:
           frame = frame[:,::-1]

        size = (800,600)
        if size is not None:
            frame = cv2.resize(frame, size)
            cv2.imshow('camera capture', frame)
            k = cv2.waitKey(100)
            if k == 27:
                break
    cap.release()
    cv2.destroyAllWindows()

capture_camera()

试试这个代码。它对我有用:

import cv2

cap = cv2.VideoCapture(0)

while True:
    ret, frame = cap.read()
    cv2.imshow('Webcam (close with q)' ,frame)

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

cap.release()
cv2.destroyAllWindows()

顺便说一句: 您的代码引发错误:

^{pr2}$

相关问题 更多 >