前言

基于Vxworks的WindRiver获取摄像头图像进行处理,需要先进行转换,对于转换格式博主有点疑问。本文对此作出解释,若有错误,请交流指正。

README.md

The video camera capture software is customized to work with the UVC driver. The capture is taken in YUY2 format, and may therefore require conversion.

code

从README.md内容看出来,摄像头捕获图像之后需要进行格式转换才能继续后续图像处理过程。转换代码如下:

cvtColor(frame, frame1, COLOR_YUV2BGR_YUY2);

问题1:

COLOR_YUV2BGR_YUY2,这些格式是什么?COLOR_YUV?BGR_YUY2?怎么来的?

    capture >> frame;
std::cout << "capture image format: " << capture.get(CAP_PROP_FORMAT) << std::endl; // 0-CV_8UC1
std::cout << "capture image type: " << frame.type() << std::endl; // 8-CV_8UC2
cvtColor(frame, frame, COLOR_YUV2BGR_YUY2);
std::cout << "frame type: " << frame.type() << std::endl; // 16-CV_8UC3

图像格式的输出可能与摄像头的驱动也有关系。

问题2:

从摄像头捕获图像之后的格式转换语句,不太理解说明文档说是捕获的YUY2格式,为什么cvtColor是从COLOR_YUV格式转换成BGR_YUY2格式?

分析:

由于历史原因,opencv总是默认按照BGR格式处理视频,通过opencv打开一款格式为YUY2的camera,opencv会默认转换成BGR格式,如果想拿到YUY2的camera的原始数据,需要一些配置和格式转换,由于opencv不能显示YUY2格式的图片,因此如果需要预览必须先转换格式后,再调用显示函数。

参考

1. cvtColor函数

2. ColorConversionCodes;

3. opencv-处理yuy2格式视频

4. opencv中cv::Mat类型总结;

5. why-does-capgetcv_cap_prop_format-return-0;

【opencv基础-VxWorks】话说图像格式转换-COLOR_YUV2BGR_YUY2的更多相关文章

  1. 【opencv基础】opencv和dlib库中rectangle类型之间的转换

    前言 最近使用dlib库的同时也会用到opencv,特别是由于对dlib库的画图函数不熟悉,都想着转换到opencv进行show.本文介绍一下两种开源库中rectangle类型之间的转换. 类型说明 ...

  2. OpenCV中RGB和HSV转换的问题

    1.一般情况下HSV模型各分量的取值范围为:H为0到360°,S为0到100%,V为0到255.但是在OpenCV中在由RGB转换到HSV的过程中,发现HSV中H为0到180°,S为0到255,V为0 ...

  3. 什么是图像 -- opencv基础

    opencv基础篇--到底什么是图像 什么是图像?英语中有两个单词来形容图像,一个是picture,一个是image.这两者虽然是形容同一个东西,但却又有着区别.picture代表实而有物的真实图像: ...

  4. OpenCV基础篇之读取显示图片

    程序及分析 /* * FileName : read.cpp * Author : xiahouzuoxin @163.com * Version : v1.0 * Date : Tue 13 May ...

  5. OpenCV 基础知识------图像创建、访问、转换

    cvCreateImage函数-- Cxcore数组操作 创建头并分配数据 IplImage* cvCreateImage( CvSize size, int depth, int channels ...

  6. OpenCV 基础笔记

    本文大部分内容来源于入门者的Python快速教程 - 番外篇之Python-OpenCV 本篇将介绍和深度学习数据处理阶段最相关的基础使用,并完成4个有趣实用的小例子: 延时摄影小程序 视频中截屏采样 ...

  7. opencv基础知识------IplImage, CvMat, Mat 的关系和相互转换

    Mat,cvMat和IplImage这三种类型都可以代表和显示图像,但是,Mat类型侧重于计算,数学性较高,openCV对Mat类型的计算也进行了优化.而CvMat和IplImage类型更侧重于“图像 ...

  8. opencv基础教程 之 图像基础和绘图

    1,教程:感谢小强 2,用argparse传参数来显示一张图片 #!/usr/bin/python #linux系统 #coding=utf-8 import cv2 import argparse ...

  9. OpenCV基础知识介绍

    1.图像与矩阵 一般来说,图像是一个标准的矩形,有着宽度(width)和高度(height).而矩阵有着行(row)和列(column),矩阵的操作在数学和计算机中的处理都很常见且成熟,于是很自然的就 ...

随机推荐

  1. Codeforces Round #609 (Div. 2) 【A,B,C】

    题意:给一个n<=1e7,找两个合数a和b使得a-b的差为n. 构造a=3n,b=2n,必含有公因子n,只有当n是1的时候是特例. #include<bits/stdc++.h> u ...

  2. python django -在setting 设定全局时间格式

    工作中遇到需要全局设定时间的格式,再此马克下 USE_L10N = False DATE_FORMAT = 'Y-m-d' DATETIME_FORMAT = 'Y年m月'

  3. python 使用 tibco ems

    emshelper.py #encoding=utf-8 import jpype jvmpath=r"C:\Program Files\Java\jre1.8.0_161\bin\serv ...

  4. Nginx和php-fpm的启用和停用脚本

    #!/bin/bash #停止php-fpm sudo php -v ps -ef | grep php-fpm | sed '$d' echo "..................... ...

  5. CSS渐变色边框,解决border设置渐变后,border-radius无效的问题

    需求:用css设置渐变边框通过border-image来实现渐变色边框 <div class="content"></div> .content { wid ...

  6. 【概率论】5-8:Beta分布(The Beta Distributions)

    title: [概率论]5-8:Beta分布(The Beta Distributions) categories: - Mathematic - Probability keywords: - Th ...

  7. Pytest权威教程11-模块及测试文件中集成doctest测试

    目录 模块及测试文件中集成doctest测试 编码 使用doctest选项 输出格式 pytest-specific 特性 返回: Pytest权威教程 模块及测试文件中集成doctest测试 编码 ...

  8. ubuntu之路——day8.3 RMSprop

    RMSprop: 全称为root mean square prop,提及这个算法就不得不提及上篇博文中的momentum算法 首先来看看momentum动量梯度下降法的过程: 在RMSprop中: C ...

  9. 2019SDN课程阅读作业(2)

    1.过去20年中可编程网络的发展可以分为几个阶段?每个阶段的贡献是什么? 分为三个阶段,第一个阶段是主动网络(从20世纪90年代中期到21世纪初),它在网络中引入了可编程功能,以实现更大的创新:第二个 ...

  10. ubuntu取消自动登录

    /etc/lightdm/lightdm.conf.d/50-nvidia.conf 注释 autologin-user=<YOUR USER>