当我使用视频采集卡时,如何在 OpenCV 中将 YUV 转换为 BGR
How can i convert YUV into BGR in OpenCV when i use a video capture card
我们使用的是名为圆刚CV710的采集卡。使用官方软件时,我们得到的视频还是不错的。但是我们想通过 func 由 Opencv 开发视频。 "VideoCapture capture.open(0)"视频如下:
CV710 的色度子采样是 YUV4:2:2。那么我们应该怎么做才能得到好看的视频。也许是 DirectShow 或其他东西?
首先,我认为您应该检查您的相机流是否可以使用 AmCap 以正确的方式解码和显示。
其实OpenCV本身就是使用directshow来解码视频流的。不过,在您的情况下,流似乎没有以正确的方式解码。
opencv中使用的directshow图形是这样的
CAMERA --> SampleGrabber --> NullRender
您需要在 CAMERA 和 SampleGrabber 之间添加一个转换过滤器,以将 YUV 流转换为 RGB 数据。
我们使用的是名为圆刚CV710的采集卡。使用官方软件时,我们得到的视频还是不错的。但是我们想通过 func 由 Opencv 开发视频。 "VideoCapture capture.open(0)"视频如下:
首先,我认为您应该检查您的相机流是否可以使用 AmCap 以正确的方式解码和显示。
其实OpenCV本身就是使用directshow来解码视频流的。不过,在您的情况下,流似乎没有以正确的方式解码。
opencv中使用的directshow图形是这样的
CAMERA --> SampleGrabber --> NullRender
您需要在 CAMERA 和 SampleGrabber 之间添加一个转换过滤器,以将 YUV 流转换为 RGB 数据。