Archive for Februari 2015
DIGITAL IMAGE PROCESSING #3 Load and Display an Image (Memuat dan Menampilkan Gambar)
By : M yunus
DIGITAL IMAGE PROCESSING #3
Load and Display an Image (Memuat dan
Menampilkan Gambar)
Tujuan
• memuat sebuah gambar
(menggunakan imread)
• Membuat window OpenCV (menggunakan namedWindow)
• Menampilkan
window OpenCV (menggunakan imshow)
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
if( argc != 2)
{
cout <<" Kegunaan: display_image
ImageToLoadAndDisplay" << endl;
return -1;
}
Mat image;
image = imread(argv[1], CV_LOAD_IMAGE_COLOR); // Membaca File
if(! image.data ) // Cek
validitas data
{
cout << "Tidak dapat menemukan dan
membuka gambar" << std::endl ;
return -1;
}
namedWindow( "Example1", WINDOW_AUTOSIZE
);// Membuat window untuk
ditampilkan
imshow( " Example1", image ); // Menampilkan gambar didalam display window
waitKey(0); // membuat window tetap terbuka sampai ditekan tombol ESC
return 0;
}
Penjelasan
Sebelum mengkoding program
terlebih dahulu kita perlu memasukan (include)
header file (.h) dimana isi tiap masing-masing modul dideklarasikan.
Kita akan selalu
menggunakan :
• bagian core, sebagai inisiasi dasar
library
• modul highgui, berisi fungsi input dan
output
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
Kita juga dapat memasukan iostream untuk memfasilitasi console
line output dan input. OpenCV memiliki namespace: cv untuk menghindari bentrok antara struktur dan
fungsi dengan library lainya.
using namespace cv;
using namespace std;
Langkah selanjutnya adalah
menganalisa main function , pertama-tama kita harus mendapatkan argumen nama
gambar dari command line.
if( argc != 2)
{
cout <<" Kegunaan: display_image
ImageToLoadAndDisplay" << endl;
return -1;
}
Selanjutnya kita membuat
objek Mat, akan menyimpan data yang
dimuat.
Mat image;
Sekarang kita panggil
fungsi imread yang akan memuat nama
gambar spesifik dengan argumen pertama (argv[1]). Argumen kedua untuk spesifikasi format gambar yang
diinginkan.
• CV_LOAD_IMAGE_UNCHANGED
(<0)
• CV_LOAD_IMAGE_GRAYSCALE
( 0) //citra grayscale
• CV_LOAD_IMAGE_COLOR
(>0) //citra RGB
image = imread(argv[1], CV_LOAD_IMAGE_COLOR); // Membaca File
Selanjutnya
kita akan menampilkan gambar dengan fungsi namedWindow
, pada fungsi ini dibutuhkan nama gambar spesifik dan ukuranya.
• CV_WINDOW_AUTOSIZE //menampilkan gambar
dengan ukuran aktual
• CV_WINDOW_NORMAL //menampilkan gambar
dengan ukuran window
namedWindow( " Example1",
WINDOW_AUTOSIZE );// Membuat window untuk
ditampilkan
terakhir gunakan fungsi
imshow.
imshow( " Example1", image ); // Menampilkan gambar didalam window
Gunakan
fungsi waitKey(0) agar window tetap terbuka.
waitKey(0); // Wait for a keystroke in the window
Hasil
Sumber :
The OpenCV Tutorials Release 2.4.9.0