Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCV Python中的视频文件与实时网络摄像头提要窗口大小_Python_Opencv - Fatal编程技术网

OpenCV Python中的视频文件与实时网络摄像头提要窗口大小

OpenCV Python中的视频文件与实时网络摄像头提要窗口大小,python,opencv,Python,Opencv,我有一个python代码,它正在打开一个实时网络摄像头,我可以下载视频提要。代码如下: import cv2 vcap = cv2.VideoCapture(1) while(1): ret, frame = vcap.read() cv2.imshow('frame', frame) if cv2.waitKey(1) & 0xFF == ord('q'): break vcap.release() cv2.destroyAllWindow

我有一个python代码,它正在打开一个实时网络摄像头,我可以下载视频提要。代码如下:

import cv2

vcap = cv2.VideoCapture(1)
while(1):
    ret, frame = vcap.read()

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

vcap.release()
cv2.destroyAllWindows()
出现并显示实时网络摄像头视频的窗口非常小。但是如果我用上面的代码播放一个视频文件,显示的窗口会很大。在上面的代码中,我没有提到调整窗口大小的任何内容

为什么会有这种差异?


如何使视频文件窗口的大小稍微小一点?

区别在于图像的原始大小。也就是说,相机获得的图像比视频文件中的图像小

要减小窗口大小,可以调整从视频获取的图像的大小。代码是:

ret,frame=vcap.read()
frame=cv2。调整大小(frame,无,无,fx=0.5,fy=0.5)
有关更多详细信息,请参阅

===其他文件===
imshow函数在指定窗口中显示图像。如果窗口是使用cv::window_AUTOSIZE标志创建的,则图像将以其原始大小显示,但仍受屏幕分辨率的限制。否则,将缩放图像以适应窗口。 如果该窗口不是像您一样在此函数之前创建的,则假定使用cv::window\u AUTOSIZE创建窗口。
有关详细信息,请参阅。

从文档中可以看到,
imshow()
的第一个参数是窗口名称。如果在调用
imshow()
之前没有显式创建具有该名称的窗口,OpenCV将创建一个设置了
CV\u window\u AUTOSIZE
标志的窗口,这意味着它将以其原始大小显示
frame
。因此,如果框架不同,窗口大小也会不同。要使窗口尽可能小,请创建一个设置了
window\u NORMAL
标志的窗口,该标志允许您设置窗口大小。所以你可以这样做:

cv2.namedWindow("Window", cv2.WINDOW_NORMAL)
# set your desired size
cv2.resizeWindow('Window', width, height)
cv2.imshow('Window', frame)