zoukankan      html  css  js  c++  java
  • openc mat转yuyv

    #define IMAGE_WIDTH (1280)
    #define IMAGE_HIGHT (960)
    #define IMAGE_SPACE (30) //采样间隔 30帧存一组
    //-----------------------------------【main( )函数】--------------------------------------------
    // 描述:控制台应用程序的入口函数,我们的程序从这里开始
    //-------------------------------------------------------------------------------------------------

    static void mat2yuyv(Mat &frame, unsigned char *yuyv)
    {
    Mat img_yuv;
    std::vector<Mat>yuv;
    int i = 0;
    int j = 0;

    cv::cvtColor(frame, img_yuv, COLOR_RGB2YUV);
    cv::split(img_yuv, yuv);

    for (j = 0; j < IMAGE_HIGHT; j++)
    {
    for (i = 0; i < IMAGE_WIDTH; i++)
    {
    //给yuv赋值
    yuyv[j * 1280 * 2 + i * 2] = yuv[0].at<uchar>(j, i);

    if (i % 2 == 0)
    {
    yuyv[j * 1280 * 2 + i * 2 + 1] = yuv[1].at<uchar>(j, i);
    }
    else
    {
    yuyv[j * 1280 * 2 + i * 2 + 1] = yuv[2].at<uchar>(j, i);
    }

    }
    }
    }

  • 相关阅读:
    2020-03-23
    2020-03-22
    2020-03-21
    2020-03-20
    2020-03-19
    2020-03-18
    2020-03-17
    单元测试-java
    2020-03-16
    C语言拯救计划Day3-1之求一批整数中出现最多的个位数字
  • 原文地址:https://www.cnblogs.com/fengliu-/p/14475173.html
Copyright © 2011-2022 走看看