Linear Grey-Level Transformation
2 Comments Published by indra_ehm on Sunday, March 02, 2008 at 5:40 PM.
Wah, ini adalah tugas Computer Vision saya yang pertama. Tugas ini dikerjakan dengan menggunakan software yang bernama "Matlab". Saya yang belum pernah menggunakannya, tentu saja gelagapan. Tidak tahu apa yang harus dilakukan. Tapi ternyata setelah sedikit belajar, dan sedikit membaca dari sumber di sini, sini, sini dan di sini, tidak sesulit yang dibayangkan kok. :)
Soal :
Soal pada kasus ini anda bisa mendownloadnya di sini
Tools :
1. Matlab (saya menggunakan matlab 7.1.0.246)
2. File gambar yang akan anda ujicoba
Jawab :
1. Langkah pertama yang anda lakukan terlebih dahulu tentunya dengan menyediakan tools yang digunakan. Jadi segeralah install program matlab anda. Kalau sudah ada, tentu tidak usah lagi. Sepertinya saya tidak usah menerangkan bagaimana cara menginstallnya, karena caranya sama seperti program-program biasa.
2. Buka program matlab anda, anda akan menemui interface yang didalamnya terdapat kotak "command window". Nah, kita sendiri akan bekerja pada kotak tersebut. Seperti namanya, "command window" ini sama dengan terminal yang lain. Yaitu seperti "cmd" atau "konsole" yang menggunakan perintah "ls", "cd", atau yang lainnya.
3. Pergilah ke tempat file anda disimpan, anda bisa menggunakan perintah "cd".. setelah itu ketikkan command berikut :
tanda persen ("%") digunakan untuk menambahkan comment.
contoh :
untuk menampilkan gambar gunakan :
4. Kembali ke soal, disitu didefinisikan bahwa persamaan :

dapat direpresentasikan oleh persamaan linear y = mx + b, di mana m merupakan koefiesien arah (slope) dari garis transformasi linear tersebut. Maka nilai m nya itu sendiri adalah :
sehingga dapat dihitung persamaan untuk menghasilkan nilai m<1, adalah :
Untuk menghasilkan nilai m>1, adalah :
Untuk menghasilkan nilai m=1, adalah :
dengan persamaan di atas, kita bisa menentukan berapa nilai masing-masing.
5. Kembali lagi ke program matlab anda. Untuk soal yang pertama, yaitu untuk m<1 saya menggunakan nilai :
low_in = 0.2
high_in = 0.5
low_out = 0.7
high_out = 0.3
Angka ini terserah anda, yang penting harus sesuai dengan persamaan yang telah didapatkan diatas. Masukkan angka tersebut ke dalam "fungsi imadjust(...)". Anda bisa membaca mengenai fungsi imadjust lebih jauh di sini.
ketikkan perintah berikut pada command window anda :
maka anda akan mendapatkan hasil gambar sebagai berikut :

Sedangkan untuk gambar yang lain, anda bisa mencobanya sendiri. Caranya sama dengan yang di atas, anda hanya perlu mengganti nilai-nilai dari variable tersebut.
Berikut preview dari gambar saya :

Yang di atas adalah gambar asli

gambar diatas adalah untuk m>1, saya menggunakan nilai :
low_in = 0.2
high_in = 0.5
low_out = 0.3
high_out = 0.7

gambar diatas adalah untuk m=1, saya menggunakan nilai :
low_in = 0.3
high_in = 0.7
low_out = 0.4
high_out = 0.8
Tadaaa... Akhirnya selesai juga.
Selamat Belajar. ^^
Thank's to :
- Septrias (asep), yang udah bantuin install "Matlab"-nya.
- Sally (ndut), yang udah kasih tahu tentang "imadjust" (bukan imadejust)
Soal :
Soal pada kasus ini anda bisa mendownloadnya di sini
Tools :
1. Matlab (saya menggunakan matlab 7.1.0.246)
2. File gambar yang akan anda ujicoba
Jawab :
1. Langkah pertama yang anda lakukan terlebih dahulu tentunya dengan menyediakan tools yang digunakan. Jadi segeralah install program matlab anda. Kalau sudah ada, tentu tidak usah lagi. Sepertinya saya tidak usah menerangkan bagaimana cara menginstallnya, karena caranya sama seperti program-program biasa.
2. Buka program matlab anda, anda akan menemui interface yang didalamnya terdapat kotak "command window". Nah, kita sendiri akan bekerja pada kotak tersebut. Seperti namanya, "command window" ini sama dengan terminal yang lain. Yaitu seperti "cmd" atau "konsole" yang menggunakan perintah "ls", "cd", atau yang lainnya.
3. Pergilah ke tempat file anda disimpan, anda bisa menggunakan perintah "cd".. setelah itu ketikkan command berikut :
A=imread('nama_file_gambar_anda'); % digunakan untuk meload file gambar, dan menempatkannya pada variable A tanda persen ("%") digunakan untuk menambahkan comment.
contoh :
>> A=imread('Picture 014.jpg');untuk menampilkan gambar gunakan :
>> imshow(A)4. Kembali ke soal, disitu didefinisikan bahwa persamaan :

dapat direpresentasikan oleh persamaan linear y = mx + b, di mana m merupakan koefiesien arah (slope) dari garis transformasi linear tersebut. Maka nilai m nya itu sendiri adalah :
high_out - low_out/high_in - low_insehingga dapat dihitung persamaan untuk menghasilkan nilai m<1, adalah :
(high_out – low_out) – (high_in – low_in) < 0;Untuk menghasilkan nilai m>1, adalah :
(high_out – low_out) – (high_in – low_in) > 0;Untuk menghasilkan nilai m=1, adalah :
(high_out – low_out) – (high_in – low_in) = 0;dengan persamaan di atas, kita bisa menentukan berapa nilai masing-masing.
5. Kembali lagi ke program matlab anda. Untuk soal yang pertama, yaitu untuk m<1 saya menggunakan nilai :
low_in = 0.2
high_in = 0.5
low_out = 0.7
high_out = 0.3
Angka ini terserah anda, yang penting harus sesuai dengan persamaan yang telah didapatkan diatas. Masukkan angka tersebut ke dalam "fungsi imadjust(...)". Anda bisa membaca mengenai fungsi imadjust lebih jauh di sini.
ketikkan perintah berikut pada command window anda :
>> J=imadjust(A,[0.2 0.5], [0.7 0.3]);
>> figure, imshow(J)maka anda akan mendapatkan hasil gambar sebagai berikut :

Sedangkan untuk gambar yang lain, anda bisa mencobanya sendiri. Caranya sama dengan yang di atas, anda hanya perlu mengganti nilai-nilai dari variable tersebut.
Berikut preview dari gambar saya :

Yang di atas adalah gambar asli

gambar diatas adalah untuk m>1, saya menggunakan nilai :
low_in = 0.2
high_in = 0.5
low_out = 0.3
high_out = 0.7

gambar diatas adalah untuk m=1, saya menggunakan nilai :
low_in = 0.3
high_in = 0.7
low_out = 0.4
high_out = 0.8
Tadaaa... Akhirnya selesai juga.
Selamat Belajar. ^^
Thank's to :
- Septrias (asep), yang udah bantuin install "Matlab"-nya.
- Sally (ndut), yang udah kasih tahu tentang "imadjust" (bukan imadejust)
Labels: Computer Vision, Matlab, Programming




Analisanya mana? Hehe, kan disuruh analisa
Iya nih, ketinggalan. Abis masih bingung, itu yang naik turun bright apa contrast. Ntar kalau dapet ilham di update lagi ^^