06-openCV获取实时视频流

本章介绍如何用openCV获取实时的采集卡图像。

源码路径

源码位于:06-opencv-RTVideo文件夹中。

该工程打开采集卡图像。并实时显示到屏幕上。如果需要对采集内容进行处理。可加入自己的处理逻辑。

本章小结

代码走读

首先打开盒子摄像头,固有编号为9.

然后尝试设置采集输出分辨率。

获取实际输出分辨率。

死循环显示。

1745480357988

运行代码

1745480509808

屏幕显示如下:

1745480674690

从打印中可以看出。常设设置采集卡输出分辨率为1280x720@60Hz失败。实际采集到的分辨率是3840x2160@18Hz。

失败原因可能是显卡输出分辨率太高。可以尝试修改显卡输出分辨率。此时盒子屏幕就能实时显示显卡输出的图像。

如果需要处理可以自行增加函数处理。

FAQ常见问题

如何退出程序

1、控制台直接按键盘ctr+c

2、按键盘End快捷键(切换到内部UI快捷键,以你设置的为准)

为什么分辨率不正确

上图中可以看到,尝试设置采集卡分辨率为1280X720@60Hz.但是提示失败。实际采集到的分辨率是3840x2160@18Hz(4K分辨率)。

首先要冷静,设置失败指的是核心板设置采集卡输返回错误。核心板读到的采集卡输出分辨率是3840x2160。 那么首先需要明确一点,采集卡不可能放大分辨率。也就是输入进来的图像分辨率一定是3840x2160。跟据常识。帧率不可能是18HZ.极有可能是30HZ或者60HZ.只是达到了采集芯片的最大出口带宽4K15Hz.故读出来的分辨率是4K18HZ。要解决这个问题可能需要降低显卡输出分辨率。

为什么显卡输出1080P60.但是实际读到的却不是

如图所示,显示器2在PC端显示的是1920x1080@60Hz.但是盒子读到的分辨率是3840x2160@18HZ

1745481714962

你看到的不一定正确。显卡可能有自己的算法。最可靠的是自定义分辨率。强制输出。