2013-11-23 23 views
5

Về cơ bản, tôi tự dạy C++ và một phần chức năng của chương trình sẽ là mở và đóng một hình ảnh được chỉ định. Tôi sẽ đi đâu để tới đó? Hoặc tôi sẽ sử dụng tài nguyên nào?Mở và hiển thị hình ảnh trong C++?

Cảm ơn!

+1

Cách dễ nhất là sử dụng một số như Qt đã có tất cả các thư viện cần thiết để làm việc với hình ảnh. – cen

Trả lời

7

Trong C++ (không có bất kỳ thư viện bổ sung nào), bạn có thể mở một hình ảnh. Nhưng sẽ không có gì hữu ích ngoại trừ một loạt dữ liệu nhị phân. thì bạn phải sử dụng bộ giải mã của riêng bạn. Nếu bạn sử dụng opencv bạn có thể viết để mở hình ảnh và hiển thị nó:

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

Để thực hiện điều tương tự với một thư viện perpouse chung chung như qt bạn có thể sử dụng mã này:

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(); 
} 

Để tìm hiểu thêm về tiện ích con imageviewer, hãy truy cập here. Hoặc bạn có thể xem here để hiển thị dưới dạng chế độ xem đồ họa.

2

Đối với crossplatform, mã nguồn mở và thư viện rất tốt, bạn có thể sử dụng libmagick ++.

-2

sửa đổi mẫu Hello World từ OpenCV 2 Computer Vision Application Programming Cookbook chạy trong VS 2012 ứng dụng win32 điều khiển

hoặc official OpenCV (Open Source) sample

cảnh báo: opencv-2.4.10.exe cài đặt Win là 360 MB mà có nhiều tính năng nâng cao và có mã mẫu, Tài liệu và các tệp nhị phân được tạo bằng Python và Java quá x86 và 64 trong đó quá

#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; 
} 
Các vấn đề liên quan