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

- Copyright © Legendre-electronics - Date A Live - Powered by Blogger - Designed by Johanes Djogan -