2013-11-23 40 views
5

基本上我自學C++,程序功能的一部分是打開和關閉指定的圖像。我會如何去做這件事?或者我會用什麼資源?在C++中打開和顯示圖像?

謝謝!

+1

最簡單的方法是使用一些像Qt這樣的框架已經擁有了處理圖像所需的全部庫。 – cen

回答

7

在C++(沒有任何額外的庫),你可以打開一個圖像。但除了一堆二進制數據之外,沒有什麼特別有用的。那麼你必須使用你自己的解碼器。 如果使用opencv你可以寫打開並顯示圖像:

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

爲了做同樣的一般perpouse庫就像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 ++。

-2

修改的Hello World樣品從OpenCV 2 Computer Vision Application Programming Cookbook在VS 2012的Win32控制檯應用程序

official OpenCV (Open Source) sample

警告運行:OpenCV的-2.4.10.exe贏安裝程序360 MB其中有許多高級功能並且在Python和Java中也有示例代碼Doc和構建的二進制文件,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; 
}