Minggu, 06 Oktober 2019

Matlab - method for fingerprint image orientation estimation


Ada hal yang menarik ketika ditemui case yaitu pre processing pada algoritma fingerprint yang sangat variasi keadaannya bila ditemui pada kondisi real.  Ada 2 core engine yang digunakan pada fingerprint recognition yaitu contour based dan minutiae based. Semuanya mempunyai kelebihan dan kekurangannya masing-masing. Pada tulisan ini tidak dibahas mengenai 2 teknik tersebut, tapi lebih ke tahap pre processing nya (simple) dengan tujuan meningkatkan akurasinya. Case nya yaitu melakukan perbaikan arah rotasi image, karena kondisi image pada kasus-kasus real ada variasi kecil seperti arah orientasi, contoh dibawah ini.









Yups, algoritma sederhana yang diterapkan untuk case diatas sangat simple sekali yaitu sebelum gambar dicari arah orientasinya, maka perlu perbaikan citra seperti pada algoritma dibawah iniYups, algoritma sederhana yang diterapkan untuk case diatas sangat simple sekali yaitu sebelum gambar dicari arah orientasinya, maka perlu perbaikan citra seperti pada algoritma dibawah ini


I = imread(folder);

figure(),imshow(I),title('Gambar Asli');
gray = [];
if ndims(I)==3
 gray = rgb2gray(I);
else
 gray = I;
end

gray = double(gray);
G = perbaikancitra(gray);
gray = histeq(uint8(G*2.5));

figure(),imshow(gray),title('Perbaikan Kualitas');


bw = ~(im2bw(uint8(gray)));
bw = bwareaopen(bw,90);


[bw,sudut] = hitungorientasi(bw);
bw = imrotate(I,sudut+90,'crop');

bw2 = zeros(size(bw,1),size(bw,2));

bw3 = bw2+double(bw);
figure(),imshow(uint8(bw3)),title('Rotasi Gambar');


Terdiri dari beberapa tahap yaitu
1.    Jika image tersebut true color, maka diubah terlebih dahulu ke gray.
2.    Perbaikan citra menggunakan rumus


3.    Perbaikan kualitas histogram dengan teknik histogram equalization.
4.    Perhitungan orientasi atau center of gravity, kamu bisa baca link berikut
http://www.softscients.web.id/2018/11/bab-4-moment-invariant.html
http://www.softscients.web.id/2018/08/bab-4-operasi-dasar-olah-citra-digital.html
(ditulis menggunakan C#)


sssttt, kodenya belum bisa dipublish karena masih dalam tahapn develop........

Tidak ada komentar: