使用cpp,OpenCV中的“选择文件”对话框创建GUI

时间:2013-04-09 04:42:46

标签: c++ opencv user-interface

有没有办法让用户在我的带有OpenCV的cpp控制台应用程序中使用GUI手动选择文件?我做了一些研究,但到目前为止找不到解决这个微不足道的任务的方法......

提前致谢, JP

2 个答案:

答案 0 :(得分:3)

为此,你必须添加任何可用的gui库并处理gui部分,使图像处理部分保持opnecv。 (例如,您可以尝试Qt)

答案 1 :(得分:1)

如果你想在Ubuntu中使用一个简单的文件打开对话框,你可以这样做:

FILE *in;
if (!(in = popen(
        "zenity  --title=\"Select an image\" --file-selection",
        "r"))) {
    return 1;
}

char buff[512];
string selectFile = "";
while (fgets(buff, sizeof(buff), in) != NULL) {
    selectFile += buff;
}
pclose(in);

//remove the "\n"
selectFile.erase(std::remove(selectFile.begin(), selectFile.end(), '\n'),
            selectFile.end());

// path + filename + format
Mat image = imread(selectFile);