【问题标题】:Opening and Displaying an Image in C++?在 C++ 中打开和显示图像?
【发布时间】:2013-12-08 17:54:33
【问题描述】:

基本上我是在自学 C++,部分程序功能是打开和关闭指定的图像。我该怎么做呢?或者我会使用什么资源?

谢谢!

【问题讨论】:

  • 最简单的方法是使用像 Qt 这样的框架,它已经拥有处理图像所需的所有库。

标签: c++ image sample


【解决方案1】:

在 c++ 中(没有任何额外的库)你可以打开一个图像。但是除了一堆二进制数据之外,没有什么特别有用的。那么你必须使用自己的解码器 如果您使用opencv,您可以编写打开图像并显示它:

Mat m("fileName");
imshow("windowName",m);

要对像 qt 这样的通用库做同样的事情,您可以使用以下代码:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QGraphicsScene scene;
    QGraphicsView view(&scene);
    QGraphicsPixmapItem item(QPixmap("c:\\test.png"));
    scene.addItem(&item);
    view.show();
    return a.exec();
}

要了解有关 imageviewer 小部件的更多信息,请转到 here。或者您可以查看here 以显示为图形视图。

【讨论】:

    【解决方案2】:

    对于跨平台、开源和非常好的库,您可以使用 libmagick++。

    【讨论】:

      【解决方案3】:

      OpenCV 2 Computer Vision Application Programming Cookbook 修改的 Hello World 示例在 VS 2012 win32 控制台应用程序中运行

      official OpenCV (Open Source) sample

      警告:opencv-2.4.10.exe Win 安装程序是 360 MB,它具有许多高级功能,并且包含示例代码、文档和 Python 和 Java 中的内置二进制文件,其中也包含 x86 和 64

      #include <opencv2/core/core.hpp>
      #include <opencv2/highgui/highgui.hpp>    
      
      int main()
      {        
          // read an image
          cv::Mat image= cv::imread("img.jpg");   
          // create image window named "My Image"
          cv::namedWindow("My Image");
          // show the image on window
          cv::imshow("My Image", image);
          // wait key for 5000 ms
          cv::waitKey(5000);
      
          return 0;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-12-14
        • 2018-06-17
        • 2023-03-26
        • 2014-09-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多