1

我正在尝试在 opencv 中创建一个简单的图像处理器。到目前为止,我已经尝试使用此代码从文件中打开一组图像。

#include <opencv2/highgui/highgui.hpp>
#include <iostream>

using namespace cv;
using namespace std;

int main()
{
    Mat im = imread("c:/image.jpg");
    if (im.empty()) 
    {
        cout << "Cannot load image!" << endl;
        return -1;
    }
    imshow("Image", im);
    waitKey(0);
}

由于这只允许打开设置的图像文件,我该如何修改它以允许用户选择图像?

这是可能的还是我只能从文件中加载一组图像?

谢谢。

4

2 回答 2

5

如果您希望您的程序仅在控制台中运行,请让用户输入图像文件的路径(或者可能正在使用命令行参数)。

如果你想让它成为 GUI 应用程序,(当你点击“打开文件”按钮时会出现一些花哨的窗口)那么你必须学习一些 GUI 编程。根据您的平台(Windows、Linux 等)选择一些 GUI 编程工具或选择跨平台(尝试 Qt)

于 2013-03-18T13:31:16.557 回答
1

如果您希望用户能够浏览其计算机上的图像,您可以使用打开文件对话框。您可以在 MSDN 上找到示例。

于 2013-03-18T11:17:47.143 回答