如何使用Opencv在任何计算机上显示图像

时间:2019-03-30 09:04:44

标签: c++ opencv

我想在打开程序的任何计算机上显示图像。但是,软件仅显示图像和软件位于同一位置的图像(我希望图像位于软件内部) 如果不在同一位置,则会显示此错误:(图像) https://i.imgur.com/bEtdaif.png


#include <iostream>
#include <Windows.h>
#include <opencv2/opencv.hpp>
#include "opencv2\highgui.hpp"
using namespace std;
using namespace cv;

int main()
{
    Mat img = imread("d.png");
    namedWindow("Image");
    imshow("Image", img);
    waitKey(0);
    cout << "h";
    int i;
    cin >> i;
}

1 个答案:

答案 0 :(得分:1)

一种方法是编写一个程序,将图像转换为列表中每个字节的<uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> 形式的字符串。然后将该字符串保存到文件中。

然后std::vector<uint8_t> image{ 0x01, 0x02 ... };将该文件插入程序,并从#include变量读取图像数据。

通过这种方式,图像将由编译器嵌入到您的可执行文件中。