有没有办法让用户在我的带有OpenCV的cpp控制台应用程序中使用GUI手动选择文件?我做了一些研究,但到目前为止找不到解决这个微不足道的任务的方法......
提前致谢, JP
答案 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);