2013-11-23 4 views
5

असल में मैं खुद को सी ++ पढ़ रहा हूं और प्रोग्राम फ़ंक्शन का हिस्सा निर्दिष्ट छवि को खोलने और बंद करना होगा। मैं ऐसा कैसे कर पाऊंगा? या मैं किस संसाधन का उपयोग करूंगा?सी ++ में एक छवि खोलना और प्रदर्शित करना?

धन्यवाद!

+1

कुछ का उपयोग करना सबसे आसान तरीका होगा क्यूटी जैसे ढांचे, जिसमें छवियों के साथ काम करने के लिए पहले से ही सभी आवश्यक पुस्तकालय हैं। – cen

उत्तर

7

सी ++ में (बिना किसी अतिरिक्त लाइब्रेरी के) आप एक छवि खोल सकते हैं। लेकिन बाइनरी डेटा के गुच्छा को छोड़कर कुछ भी उपयोगी नहीं होगा। तो आपको अपने स्वयं के डिकोडर का उपयोग करना होगा। यदि आप opencv का उपयोग आप एक छवि को खोलने और यह प्रदर्शित करने के लिए लिख सकते हैं: आप इस कोड का उपयोग कर सकते

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

क्यूटी की तरह एक सामान्य perpouse पुस्तकालय के साथ भी ऐसा ही करने के लिए:

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

OpenCV 2 Computer Vision Application Programming Cookbook से संशोधित नमस्ते विश्व नमूना वी.एस. 2012 Win32 कंसोल अनुप्रयोग

या official OpenCV (Open Source) sample

चेतावनी में चल रहे: opencv-2.4.10.exe जीत संस्थापक 360 एमबी जो कई अग्रिम सुविधाओं है और पाइथन और जावा में नमूना कोड, डॉक्टर और निर्मित बाइनरी भी हैं, इसमें 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; 
} 
संबंधित मुद्दे