我想用我的相机拍摄1920x1080视频,但我遇到了两个问题
当在cv2中设置1920x1080时,图像变成蓝色,底部有一个故障条
cap = cv2.VideoCapture('/dev/video0')
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 1920)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 1080)
根据v4l2-ctl,事情是这样的。蓝色图像似乎不是像素格式变化的结果(例如。RGB至BGR)
最后,这里是一个以640x480拍摄的具有正确颜色的图像示例。代码中唯一的区别是cv2中未设置宽度/高度
实际上,您使用的相机有2种模式:
一个用于主流,一个用于子流。我也遇到过几次这个问题,下面是它不起作用的可能原因。
注意:我假设您尝试了不同的方式以全分辨率(1920x1080)运行,例如cv2。视频捕获(0)
,cv2。视频捕获(-1)
,cv2。视频捕获(1)
。。。
读/写属性涉及许多层。沿着这条链可能会发生一些意想不到的结果。有效的行为取决于设备硬件、驱动程序和API后端。
在这种情况下,如果您真的需要达到该分辨率并与opencv兼容,您应该使用相机的SDK(如果有)。
我遇到的问题是,我无法更改OpenCV视频捕获的分辨率。不管怎样,分辨率总是640x480。我使用的代码是用C编写的,我使用的是opencv 3.4.8。我已经创建了一个超级简单的程序来做这件事,不管我怎么尝试,它似乎都不起作用。 以下是完整的代码: 当我运行上述代码时,帧总是640x480。 我已尝试使用
我正在OpenCV(2.4.8)中创建一个程序,可以读取视频文件并对其进行计算。对于这些计算,我不需要高分辨率的帧,我可以用640*360作为分辨率。 在早期的测试中,我连接了网络摄像头,我使用了: 它完美地调整了图像的大小。现在,我要进入下一步,我想用我的程序来存储视频,而不是一个实时提要(我用来测试)。当我用源文件路径(字符串)更改“0”时,将加载文件,但分辨率仍为1920*1080。 我做错
我在Ubuntu 12.04 64位上使用OpenCV 2.4.5。我希望能够设置我的罗技C310网络摄像头输入的分辨率。相机支持高达1280x960在30fps,我能够在guvcview在这个分辨率查看视频。但是OpenCV总是以640x480的速度获取视频。 试图用cap更改分辨率。设置(CV\U CAP\U PROP\U FRAME\U WITH,1280)和CAP。创建视频捕获封盖后立即设
我正试图从ip摄像机捕捉视频,并保存为avi视频文件。同时脚本将包含人脸的帧保存为jpeg文件。当脚本执行这些任务时,cpu使用率约为100%。正因为如此,我只想限制人脸检测的帧率。
cv2无法设置fps,但我可以使用更改fps; 和决议; 但是当我尝试去做的时候; 捕获速度为60fps,但分辨率为320x240。很明显,cv2。视频捕获会改变分辨率。好的,所以它不关心v4l2 ctl写入的设置,并覆盖它自己的设置。所以我尝试; 图像是640x480的预期,但帧速率下降到30fps。这次它重写fps值。即使相机支持它,我也不能让它在640x480@60fps工作。 任何防止cv
我正在使用Androidncoder生成一个带有AAC音频的H264视频,通过RTMP网络发送,并使用MediaMuxer本地存储在MP4文件中。 广播在RTMP上运行良好,但在本地保存时,生成的视频有时还可以,有时只是带有声音的黑色帧(或者只是带有一些信息块的第一部分帧),有时它先播放音频,然后以随机FPS速度播放视频。 这是我的Muxer包装器类和MPEG4Writer SDK类显示的输出: