zoukankan      html  css  js  c++  java
  • opencv imdecode和imencode用法

    主要是对内存数据自动编解码

        string fname = "D:/image.jpg";
        //! 以二进制流方式读取图片到内存
        FILE* pFile = fopen(fname.c_str(), "rb");
        fseek(pFile, 0, SEEK_END);
        long lSize = ftell(pFile);
        rewind(pFile);
        char* pData = new char[lSize];
        fread(pData, sizeof(char), lSize, pFile);
        fclose(pFile);
    
    //! 解码内存数据,变成cv::Mat数据 cv::Mat img_decode; vector
    <uchar> data; for (int i = 0; i < lSize; ++i){ data.push_back(pData[i]); } img_decode = cv::imdecode(data, CV_LOAD_IMAGE_COLOR); cv::flip(img_decode, img_decode, -1); img_decode.channels();
    //! 将cv::Mat数据编码成数据流 vector
    <unsigned char> img_encode; cv::imencode(".jpg", img_decode, img_encode); unsigned char *encode_data = new unsigned char[lSize]; for (int i = 0; i<lSize; i++){ encode_data[i] = img_encode[i]; }
  • 相关阅读:
    每日总结19
    每日博客
    每日博客
    每日博客
    每日博客
    今日收获
    python 基础学习
    python 基础学习
    python 基本语法学习
    【Rust】格式化Formatting
  • 原文地址:https://www.cnblogs.com/haiyang21/p/9392399.html
Copyright © 2011-2022 走看看