用C ++打开和显示图像?

时间:2013-11-23 22:38:49

标签: c++ image sample

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

谢谢!

3 个答案:

答案 0 :(得分:7)

在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以显示为图形视图。

答案 1 :(得分:3)

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

答案 2 :(得分:-1)

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

official OpenCV (Open Source) sample

警告:opencv-2.4.10.exe Win安装程序是 360 MB ,它有很多高级功能,并且有Python和Java的示例代码,Doc和内置二进制文件,x86和64也是< / p>

#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;
}