Dalam beberapa aplikasi khususnya
aplikasi image processing, ada file yang perlu dibuka (di-load)
agar bisa diproses sebagai file masukan. Selanjutnya agar proses dalam
aplikasi bisa diketahui, maka tentunya perlu ditampilkan pada layar LCD.
Sedangkan sebagai dokumentasi, kita perlu menyimpan proses yang diinginkan.
Dalam OpenCV, ada beberapa fungsi yang digunakan untuk bisa menerapkan load,
show dan save image. Fungsi tersebut adalah sebagai berikut:
Load
IplImage* cvLoadImage(
const
char* filename,
int
iscolor = CV_LOAD_IMAGE_COLOR
);
const char* filename adalah nama
file yang akan di-load. Sedangkan int iscolor = CV_LOAD_IMAGE_COLOR
adalah variabel yang digunakan.
CV_LOAD_IMAGE_COLOR adalah
default posisi 8 bit per channel dimana jika menggunakan variabel ini, maka
beberapa image dipaksa masuk ke dalam 3 channel image. Ada juga CV_LOAD_IMAGE_GRAYSCALE yang secara otomatis,
image akan dikonversi ke dalam single-channel. CV_LOAD_IMAGE_ANYCOLOR akan load
gambar secara sederhana seperti penyimpanan filenya. Jika ingin load 16 bit
gambar berwarna, maka gunakan CV_LOAD_IMAGE_COLOR
| CV_LOAD_IMAGE_ANYDEPTH. Jika ingin keduanya warna dan kedalaman bisa diload
secara exact, bisa menggunakan CV_LOAD_IMAGE_UNCHANGED di dalamnya.
Berikut ini adalah contoh cara
penulisan program load image.
IplImage *tpl1 =
cvLoadImage("Depan.png",CV_LOAD_IMAGE_COLOR);
Fungsi cvLoadImage() adalah
sebuah routine level tinggi yang menentukan format yang di-load berdasarkan
pada nama file. Itu juga secara otomatis mengalokasikan memori yang dibutuhkan
untuk struktur data image. cvLoadImage() bisa membaca format BMP, DIB, JPEG,
JPE, PNG, PBM, PGM, PPM, SR, RAS, and TIFF. Sebuah data struktur image yang
dialokasikan kemudian dinilai balikkan pada sebuah pointer. Struktur ini
disebut dengan IplImage yaitu konstruktor OpenCV. OpenCV menggunakan struktur
ini untuk meng-handle semua macam gambar diantaranya: single-channel,
multichannel, integer-valued, floating-point-valued, dan lain-lain.
Show
Agar
dapat menampilkan proses yang sedang berlangsung, kita harus menggunakan
beberapa fungsi. Fungsi pertama adalah membuat nama window yaitu cvNamedWindow(). Fungsi kedua adalah
menampilkan proses dengan menggunakan fungsi
cvShowImage(). Fungsi terakhir adalah fungsi menutup window dan
meniadakan alokasi memori yang telah digunakan. Berikut ini adalah keterangan
dari fungsi-fungsi yang berhubungan dengan menampilkan gambar.
cvNamedWindow( "input image", CV_WINDOW_AUTOSIZE );
“input image” adalah nama sesuai
yang kita inginkan dan CV_WINDOW_AUTOSIZE
adalah variabel fungsi default (atau bisa diganti dengan angka 0) yang
fungsinya dapat menyesuaikan ukuran window secara otomatis dengan input image.
cvShowImage( "input image", img);
Fungsi ini digunakan untuk
menampilkan variabel gambar IplImage yang digunakan (img) dan ditampilkan pada
window bernama “input image”. Setelah program dijalankan, program akan menutup
semua proses termasuk window yang telah dibuat harus ditutup dan kita dapat
menutupnya menggunakan fungsi cvDestroyWindow( "input image" ).
Save
Kita
juga dapat menyimpan gambar sebelum program ditutup menggunakan fungsi
cvSaveImage().
int
cvSaveImage(
const char* filename,
const CvArr* image
);
Const char* filename adalah
nama file simpan, misalnya “oke.jpg”.Format gambar yang dapat disimpan adalah
PNG, TIFF dan JPEG2000. Sedangkan const CvArr* image adalah nama file
image yang akan disimpan, dalam hal ini misalkan variabel img diatas.
Contoh program keseluruhan dari
ketiga fungsi diatas dapat anda lihat pada postingan selanjutnya dengan judul Template Matching.
Tidak ada komentar:
Posting Komentar