[FileName, pathname] = uigetfile ...
{ .png
, Image Files .png
}, ...
Pilih Gambar Dokumen ;
handles.myImage = strcatpathname, FileName; axeshandles.gambarasli;
imshowhandles.myImage; citra_input=imreadhandles.myImage;
assignin base
, citra_input
,citra_input;
4.3. Implementasi Grayscaling
Proses ini dilakukan ketika gambar mempunyai lebih dari 1 keping warna. dalam proses grayscaling penulis menggunakan fungsi yang sudah ada di dalam
matlab yakni rgb2gray. Gambar 4.4 menujukkan proses grayscaling pada citra masukkan yang bertipe RGB.
jumKeping = sizecitra_input,3; assigninbase,jumKeping,jumKeping;
if jumKeping == 3 citra_gray = rgb2graycitra_input;
assignin base
, citra_gray
,citra_gray; axeshandles.gambargrayscale;
imshowcitra_gray; end
Gambar 4. 4 Implementasi Grayscaling
4.4. Implementasi Binerisasi
Setelah citra dokumen sudah menjadi grayscale, maka tahap berikutnya akan dilakukan binerisasi. Dalam proses binerisasi citra dokumen, penulis menggunakan
binerisasi otsu dengan function di dalam matlab yakni im2bw. Gambar 4.5 merupakan proses binerisasi pada gambar grayscaling.
citra_biner=im2bwcitra_gray; assignin
base ,
citra_biner ,citra_biner;
axeshandles.gambarbw; imshowcitra_biner;
Gambar 4. 5 Implementasi Binerisasi
4.5. Implementasi Deteksi Tepi
Setelah citra dokumen dikenai proses binerisasi, maka pada tahap selanjutnya sistem akan melakukan deteksi tepi canny dengan menggunakan function yang ada
di matlab. Gambar 4.6 merupakan proses deteksi tepi canny pada gambar binerisasi. imEdge = edgecitra_biner,
canny ;
axeshandles.gambartepi; imshowimEdge;
assignin base
, imEdge
,imEdge;
Gambar 4. 6 Implementasi Deteksi Tepi
4.6. Implementasi Hough Transform
1. Mulai
2. Buat variabel untuk menampung koordinat citra yang tidak bernilai nol
pada citra yang sudah dikenai proses deteksi tepi. 3.
Pada hasil deteksi tepi dilakukan perubahan kedalam kurva sinusoida dengan besar nilai
� dari 0 sampai 360. 4.
Hitung nilai � = √
+ dimana m dan n adalah ukuran citra
masukkan. 5.
Tentukan nilai parameter hough transform yakni: rho maks, rho min, theta maks dan theta min
6. Buat array akumulator yang memiliki parameter rho dan theta
7. Inisialisasi tiap elemen pada cell array akumulator menjadi nol
8. Untuk setiap citra yang memiliki nilai tidak sama dengan nol dan untuk
theta dari theta min sampai theta maks, lakukan langkah berikut:
a. Hitung nilai
� = � � � + �� � dimana dan merupakan koordinat citra
b. Masukkan nilai rho dan theta yang sudah ditemukan ke dalam
array akumulator c.
Hitung nilai inkremen dari array akumulator 9.
Ubah nilai theta dari radian ke derajat 10.
Ambil nilai maksimum dari theta pada array akumulator yang menandakan sebagai banyaknya titik yang membentuk garis
11. Selesai
4.7. Implementasi Rotate Citra