opencv imdecode和imencode用法

Posted haiyang21

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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]; }

 



以上是关于opencv imdecode和imencode用法的主要内容,如果未能解决你的问题,请参考以下文章

opencv python图片编码解码

opencv 读取和写入路径有汉字的处理方法

Python-opencv打开保存图片含有中文路径的问题

Python-opencv打开保存图片含有中文路径的问题

Python-opencv打开保存图片含有中文路径的问题

Python-opencv打开保存图片含有中文路径的问题