Laman

Selasa, 03 Desember 2013

Pembuatan Aplikasi Pengolahan Citra dengan OpenCV dan Microsoft Visual Studio 2008 : Watermarking

PENDAHULUAN
Seiring dengan pesatnya kemajuan teknologi informasi, data atau informasi semakin banyak  bila dilihat dari bentuk dan jenisnya. Mulai dari teks, gambar, audio, dan juga video.
Gambar, atau yang bisa juga disebut sebagai citra, berperan sangat penting sebagai bentuk informasi visual. Ada yang mengatakan bahwa citra (gambar) lebih berarti dari ribuan kata-kata. Saya membenarkan hal tersebut, karena memang benar  dengan melihat suatu gambar kita langsung bisa mendefinisikan sendiri mengenai gambar tersebut. Dan juga bisa memberikan banyak arti lainnya.
Terkadang citra yang ada itu tidak sepenuhnya baik maksudnya tidak sepenuhnya sempurna, perlu dilakukan suatu proses untuk membuatnya menjadi lebih baik. Proses inilah yang dinamakan pengolahan citra.
Teknik pengolahan citra-pun sudah semakin banyak digunakan. Contohnya saja dalam dunia perdagangan. Kita semua mungkin sudah tahu dengan yang namanya barcode. Penggunaan barcode di supermarket dibuat untuk mempermudah pembacaan harga. Bila tidak menggunakan barcode mungkin petugas  bisa  dibuat sulit, karena  harus mengecek harga barang satu-satu.  Selain itu masih ada lagi, sidik jari untuk kehadiran juga termasuk aplikasi pengolahan citra.
Pengolahan citra merupakan suatu proses perbaikan kualitas citra agar mudah di interpretasi oleh manusia atau komputer. Proses-proses yang termasuk ke dalam pengolahan citra, yaitu :
1.  Perbaikan kualitas citra (Image Enhancement)
2.  Pemugaran citra (Image Restoration)
3.  Pemampatan citra (Image Compression)
4.  Segmentasi citra (Image Segmentation)
5.  Pengorakan citra (Image Analysis)
6.  Rekonstruksi citra (Image Recontruction)
Di dalam laporan ini akan dijelaskan bagaimana membuat suatu aplikasi yang berkaitan dengan pengolahan citra deteksi tepi. Sebelumnya, kami akan  memberitahukan bagaimana cara instalasi dan konfigurasi yang diperlukan dalam pembuatan aplikasi tersebut. Di halaman terakhir, penulis juga melampirkan source code yang digunakan dalam pembuatan aplikasi tersebut.

INSTALASI DAN KONFIGURASI
Dalam pembuatan aplikasi pengolahan citra, penulis menggunakan perangkat lunak berikut :
1.  Microsoft Visual Studio 2008
Microsoft Visual Studio adalah software yang digunakan sebagai compiler. Compiler adalah perangkat lunak yang digunakan untuk mengubah source code dari suatu bahasa pemrograman (dalam kasus ini bahasa pemrogramannya yaitu C++) menjadi native code / bahasa mesin (file executable) agar dapat dieksekusi oleh komputer.  Microsoft Visual Studio  ini  dibuat oleh perusahaan Microsoft.
2.  OpenCV 2.1
OpenCV (Open Computer Vision)  merupakan semacam library  yang digunakan dalam membuat aplikasi yang berkaitan dengan computer vision. OpenCV juga menyediakan banyak fungsionalitas, yang tentunya dapat mempersingkat waktu  dalam pembuatan aplikasi yang lumayan rumit.
Spesifikasi minimum sistem yang harus Anda miliki yaitu :
ü  1,6 GHz or faster processor
ü  1024 MB RAM
ü  3 GB or available hard-disk space
ü  5400 RPM hard-disk drive
ü  Direct X 9 – capable video car running at 1024 x 768 or higher display resolution
ü  DVD – ROM drive

Instalasi Microsoft Visual Studio 2008

Adapun langkah-langkah instalasi MS VisuaStudio 2008 sebagai berikut:

   1.   Masukkan DVD software MS Visual Studio 2008 kedalam DVD Room PC/laptop Anda,
         kemudia aka muncul  auto  run  CD.  Jika  tida muncul  maka  kli file Setup.exe atau   
         jika anda mendownload software MS Visual Studio langsung saja klik setup
  
   2.   Kemudian pilih menu yang paling atas yaitu "Install Visual Studio 2008", lalu klik
   3.   Tunggulah hingga progressbar selesai loading sehingga muncul tombol "Next"
 4.   Kemudian klik tombol "Next" di atas
 5. Karena penulis menggunakan lisensi yang disediakan oleh kantor teman saya, maka secarotomatis product key number akan terisi. Jangan lupa pilih "I have read and accept the licenseterms" lalu klik tombol "Next"
  6.   Pilih saja fitur "Default" sesuai rekomendasi sistem. Jika, tampilan Anda sudah sesuai dengan  
       gambar di atas. Silakan klik tombol "Install"
7.  Inilah proses instalasi komponen, tunggulah beberapa menit hingga proses benar- benar selesai
8.   Instalasi telah selesai dilakukan maka klik tombol "Finish".

Instalasi OpenCV

1.   Download terlebih dahulu software OpenCv 2.4.6

2.    Setelah selesai download kita akan akan muncul jendela instalasi klik saja next maka kita akan masuk ke proses ekstrak, seperti gambar dibawah ini : 
3.     Tunggu sampai proses ekstraksi selesamaka OpenCV sudah terinstall dan dapat digunakan.

Konfigurasi Pengaturan OpenCV Pada Visual Studio

1. Untuk melakukan konfigurasi pada OpenCv kita bisa melakukannya dengan masuk ke File

-> New -> Project

2. Setelah itu pilih Win32 Console Application

3. Beri nama Watermark (ini dapat diganti sesuka kita)
 
4. Setelah itu kita setting ProjecDirectories

Klik kanan project>>Properties >>Linker >>Input >>

release
opencv_featur
s2d246.lib opencv_highgui246.lib opencv_core246.lib opencv_imgproc246.lib opencv_ml246.lib opencv_objdetect246.lib opencv_video246.lib opencv_contrib246.lib opencv_calib3d246.lib



debug
opencv_features2d246.lib opencv_highgui246d.lib opencv_core246d.lib opencv_imgproc246d.lib opencv_ml246d.lib opencv_objdetect246d.lib opencv_video246d.lib opencv_contrib246d.lib opencv_calib3d246d.lib

  
Klik Tools -> Options -Projects and Solutions -> VC++ Directories -> Library
C:\opencv\build\x86\vc9\lib



Include
C:\opencv\build\include
C:\opencv\include\opencv

Penjelasan Watermarking
Watermarking (tanda air) adalah suatu teknik penyembunyian data/informasi pada suatu media digital (bisa gambar, suara, maupun video)  dan terlihat samar oleh mata. Biasa nya dijadikan tanda oleh sang pemilik data digital atau sebagai pemberian Hak Cipta bagi data digital.
Manfaat :
  • Tamper-proofing; watermarking digunakan sebagai alat untuk mengidentifikasikan atau alat indikator yang menunjukkan data digital (host) telah mengalami perubahan dari aslinya.
  • Feature location; menggunakan metoda watermarking sebagai alat untuk identifikasikan isi dari data digital pada lokasi-lokasi tertentu, seperti contohnya penamaan objek tertentu dari beberapa objek yang lain pada suatu citra digital.
  • Annotation/caption; watermarking hanya digunakan sebagai keterangan tentang data digital itu sendiri.
  • Copyright-Labeling; watermarking dapat digunakan sebagai metoda untuk penyembunyikan label hak cipta pada data digital sebagai bukti otentik kepemilikan karya digital tersebut.

Ada 3 macam gaya watermark.
  1. Signature style, menyisipkan tanda tangan ke dalam media digital.
  2. Logo style, menyisipkan logo ke dalam media digital.
  3. Text style, menyisipkan text ke dalam media digital.
Berdasarkan visibilitasnya, watermark pada citra digital bisa dikategorikan menjadi 2 jenis, yaitu:
  1. Visible watermark artinya watermark terlihat oleh mata manusia, biasanya berupa teks atau logo semi transparan yang ditambahkan pada citra.
  2. Invisible watermark artinya watermark disisipkan dengan teknik tertentu sehingga tidak terlihat oleh mata manusia. Mata manusia memiliki keterbatasan dalam membedakan 2 buah piksel dengan membedakan intensitas yang sangat kecil.
ALGORITMA PROGRAM
  1. Masukkan bilangan desimal yang diinginkan diantara 0 sampai 1
  2. Jika inputan yang dimasukkan diantara 0 sampai 1 maka nilai alpha akan mengikuti nilai inputan, sebaliknya jika diluar 0 sampai 1 maka nilai alpha menjadi 0.5
  3. Membaca 2 gambar yang ingin digunakan, keduanya harus mempunyai ukuran yang tipe file yang sama
  4. Jika gambar yang ditentukan tidak ada maka akan memunculkan pesan error dan kembali ke penulisan program.
  5. Membuat window baru untuk menampilkan hasil dengan autosize bernilai 1
  6. Menentukan nilai beta dengan menggunakan inputan dari alpha sebelumnya
  7. Mengkalkulasikan dua array (gambar) dengan nilai alpha, beta, dan gamma dan menyimpannya pada variable dst. Gamma bernilai 0.0
  8. Menampilkan hasil watermark pada window yang dibuat lalu menunggu user untuk keluar
Listing Program

#include <cv.h>
#include <highgui.h>
#include <iostream>

using namespace cv;

int main( int argc, char** argv )
{
 double alpha = 0.5; double beta; double input;

 Mat src1, src2, dst;

 /// Ask the user enter alpha
 std::cout<<" Simple Linear Blender "<<std::endl;
 std::cout<<"-----------------------"<<std::endl;
 std::cout<<"* Enter alpha [0-1]: ";
 std::cin>>input;

 /// We use the alpha provided by the user if it is between 0 and 1
 if( input >= 0.0 && input <= 1.0 )
   { alpha = input; }

 /// Read image ( same size, same type )
 src1 = imread("../images/watermark.jpg" );
 src2 = imread("../images/windows1.jpg");

 if( !src1.data ) { printf("Error loading src1 \n"); return -1; }
 if( !src2.data ) { printf("Error loading src2 \n"); return -1; }

 /// Create Windows
 namedWindow("Watermark Wulang & Billy", CV_WINDOW_AUTOSIZE);

 beta = ( 1.0 - alpha );
 addWeighted( src1, alpha, src2, beta, 0.0, dst);

 imshow( "Watermark Wulang & Billy", dst );

 waitKey(0);
 return 0;
}
Output
Gambar 1 adalah gambar yang akan diberi Watermark.

Gambar 1

Gambar 2 adalah gambar watermark nya
Gambar 2

Kedua gambar harus berukuran sama. Yaitu 400x400
Hasil





referensi :

Tidak ada komentar:

Posting Komentar