C++ バイトストリームを画像に変換する方法

OpenCVなどのサードパーティライブラリを使用して、C++バイトストリームを画像に変換できます。以下にサンプルコードを示します。

#include <iostream>
#include <fstream>
#include <opencv2/opencv.hpp>

int main() {
    // 读取字节流
    std::ifstream file("data.bin", std::ios::binary | std::ios::ate);
    std::streamsize size = file.tellg();
    file.seekg(0, std::ios::beg);
    std::vector<char> buffer(size);
    if (file.read(buffer.data(), size)){
        // 将字节流转化为图片
        cv::Mat image(cv::Size(640, 480), CV_8UC3, buffer.data());
        // 显示图片
        cv::imshow("Image", image);
        cv::waitKey(0);
    } else {
        std::cout << "Failed to read byte stream." << std::endl;
    }
    return 0;
}

data.binはバイナリデータを格納するファイルの名前です。OpenCVライブラリがインストールされていることを確認し、コードとdata.binを同じフォルダに配置して、コードをコンパイルして実行すると、画像が表示されます。

bannerAds