Fondamentalmente sto insegnando a me stesso C++ e parte della funzione del programma sarà di aprire e chiudere un'immagine specificata. Come potrei fare questo? O quale risorsa dovrei usare?Apertura e visualizzazione di un'immagine in C++?
Grazie!
Fondamentalmente sto insegnando a me stesso C++ e parte della funzione del programma sarà di aprire e chiudere un'immagine specificata. Come potrei fare questo? O quale risorsa dovrei usare?Apertura e visualizzazione di un'immagine in C++?
Grazie!
In C++ (senza alcuna libreria aggiuntiva) è possibile aprire un'immagine. Ma non ci sarà nulla di particolarmente utile tranne un mucchio di dati binari. allora devi usare il tuo decoder. Se si utilizza opencv è possibile scrivere ad aprire un'immagine e visualizzarla:
Mat m("fileName");
imshow("windowName",m);
di fare lo stesso con una libreria generale perpouse come qt è possibile utilizzare questo codice:
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();
}
Per saperne di più sul widget imageviewer vai su here. Oppure si può dare un'occhiata a here da visualizzare come visualizzazione grafica.
Per una libreria crossplatform, opensource e molto buona è possibile utilizzare libmagick ++.
modificato campione Ciao Mondo da OpenCV 2 Computer Vision Application Programming Cookbook esecuzione in VS 2012 console Win32 app
o official OpenCV (Open Source) sample
avvertimento: installazione di Win OpenCV-2.4.10.exe è 360 MB che hanno molte caratteristiche di anticipo e hanno codice di esempio, doc e binari compilati anche in Python e Java x86 e 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;
}
Il modo più semplice sarebbe utilizzare alcuni framework come Qt che ha già tutte le librerie necessarie per lavorare con le immagini. – cen