其他分享
首页 > 其他分享> > opencv rgb plannar 读取 转 rgb888保存

opencv rgb plannar 读取 转 rgb888保存

作者:互联网

#include <fstream> #include <iostream> #include <opencv2/imgcodecs.hpp> #include <opencv2/opencv.hpp>
using namespace cv; using namespace std;
int main(int argc, char **argv) {     const uint32_t cols = 24;     const uint32_t rows = 24;
    ifstream fin0("00135461.plannar", ios::in | ios::binary);     if(!fin0.is_open())     {         cout << "open fail!\n";         return 1;     }
    Mat img0_r = Mat::zeros(rows, cols, CV_8UC1);     Mat img0_g = Mat::zeros(rows, cols, CV_8UC1);     Mat img0_b = Mat::zeros(rows, cols, CV_8UC1);
    fin0.read(&img0_r.at< char >(0, 0), sizeof(char) * rows * cols);     fin0.read(&img0_g.at< char >(0, 0), sizeof(char) * rows * cols);     fin0.read(&img0_b.at< char >(0, 0), sizeof(char) * rows * cols);     fin0.close();
    Mat channels[3] = { img0_b, img0_g, img0_r };     Mat img0;     merge(channels, 3, img0);
    imwrite("out2.jpg", img0);
    ofstream fout0("out2.img", ios::out | ios::binary);     Mat      imgRGB;     cvtColor(img0, imgRGB, COLOR_BGR2RGB);     fout0.write(&imgRGB.at< char >(0, 0), sizeof(char) * rows * cols * 3);     fout0.close();
    return 0; }

标签:rows,Mat,fin0,cols,char,opencv,rgb,rgb888,img0
来源: https://www.cnblogs.com/qmjc/p/16180967.html