海康 YUV 转为为 opencv
时间: 2023-10-13 09:06:16 浏览: 115
opencv调用海康摄像头
可以通过以下代码将海康 YUV 格式的图像转换成 OpenCV 支持的图像格式:
```cpp
// 定义海康 YUV 格式图像的宽、高和帧率
#define IMAGE_WIDTH 1920
#define IMAGE_HEIGHT 1080
#define FRAME_RATE 30
// 创建海康 YUV 格式图像的缓存
unsigned char* yuv_buffer = new unsigned char[IMAGE_WIDTH * IMAGE_HEIGHT * 3 / 2];
// 创建 OpenCV 支持的图像格式的缓存
cv::Mat bgr_image(IMAGE_HEIGHT, IMAGE_WIDTH, CV_8UC3);
// 将海康 YUV 格式图像转换为 BGR 格式图像
libyuv::I420ToBGR24(yuv_buffer, IMAGE_WIDTH, yuv_buffer + IMAGE_WIDTH * IMAGE_HEIGHT, IMAGE_WIDTH / 2, yuv_buffer + IMAGE_WIDTH * IMAGE_HEIGHT * 5 / 4, IMAGE_WIDTH / 2, bgr_image.data, IMAGE_WIDTH * 3, IMAGE_WIDTH, IMAGE_HEIGHT);
// 释放海康 YUV 格式图像的缓存
delete[] yuv_buffer;
```
需要注意的是,此代码中使用了 libyuv 库进行 YUV 格式转换,需要在项目中添加该库的链接。
阅读全文