5

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

提前致谢, JP

4

2 回答 2

4

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

于 2013-04-09T05:01:32.287 回答
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);
于 2016-07-29T20:57:57.503 回答