Friday, March 20, 2015

C#-Enkripsi Pesan dengan teknik RSA



Penulis mengimplementasikan sebuah teknik kriptografi menggunakan teknik RSA untuk me enkripsikan sebuah pesan (string)


Wednesday, March 18, 2015

Export JTable kedalam CSV

Kamu lagi mencari code untuk melakukan export JTable kedalam CSV didalam Java?
Setidaknya code berikut bisa dipertimbangkan!

Saturday, March 14, 2015

text recognition dengan teknik principal component analyst



Setelah sukses handwritingrecognition dengan teknik zoning, penulis juga berkeinginan untuk melakukan penerapan pada kasus lainnya yaitu untuk karakter huruf. Batasan masalahnya pada huruf besar (uppercase) saja. Algoritma didesain hanya untuk tahap recognition sehingga citra huruf sudah tersaji dengan baik alias tidak menggunakan tahap detection. Algoritma ini didesain untuk robust terhadap berbagai jenis font type dan size.

Friday, March 13, 2015

Algoritma Handwriting recognition dengan zoning dan PCA



Penulis berkesempatan melakukan suatu riset tentang handwiriting recognition mengenai tulisan ‘angka’ dari 0 sampai 9. Tulisan angka yang dibuat oleh manusia mempunyai beragam cara alias melimpah, hal itu

Thursday, March 12, 2015

contoh kasus decision tree C45


Penulis mendapatkan order untuk mengimplementasikan sebuah algoritma untuk permasalahan decision tree yaitu C 4.5Bila kamu ingin mempelajari contoh kasus nya. Silahkan untuk mengunjungi link berikut
http://www.docstoc.com/docs/166620037/Belajar-Mudah-Algoritma-Data-Mining-C45pdf
Pada kasus ini, penulis menggunakan bahasa funcional yaitu python mengingat lebih mudah dan mempunyai banyak pustaka.

Sunday, March 1, 2015

Algoritma segmentasi citra


Penulis sangat yakin menentukan algoritma segmentasi adalah sangat pelik!
Mengapa? Karena banyak sekali variasi!
Anda bisa saja menggunakan otsu tapi akan tetap terkendala!
Bisa juga menggunakan adaptiv threshold!
Nah hal yang  kamu hadapi bisa dibantu dengan teknik gradient!
Yups! 


Edge detection dengan trace boundary



Penulis banyak sekali melibatkan proses operasi salah satu dari sekian banyaknya yaitu deteksi tepi. Hanya saja kalau penulis menggunakan function edge di matlab menggunakan operasi convolution dengan beragam jenis filter seperi canny, prewit, roberts hanya saja, penulis dibuat KESAL lantaran ada yang terputus hasil edge nya! Padahal tidak boleh putus edge / perimeter nya! Karena akan digunakan untuk analisis chain code / freeman code



Sehingga penulis mendesain suatu algoritma untuk TAHAN terhadap putusnya suatu edge detection!

Bandingkan dengan edge canny bawaan matlab

Bila kalian menggunakan edge detection seperti canny atau lainnya, terkadang akan putus edge nya

Trace boundary

Coba kalian bandingkan dengan gambar dibawah ini yang tidak akan putus


Trace boundary ini akan menggunakan konsep looping untuk pengecekan nilai pixel tetangganya!
Lumayan cepat! Dari pada menggunakan convolution Penulis telah sukses menggunakan algoritma tersebut secara luas untuk diterapkan pada kasus-kasus recognition dan analisis contour

Code trace Boundary

function [boundary_pixel]=traceboundaryrevisi1(a)
%function yang bertugas untuk melakukan deteksi tepi
%menggunakan teknik traceboundary
%oleh       : mulkan.ms@gmail.com
%update     : 1 februari 2015
%web        : www.softscients.web.id

%tambah padding
%tambahkan margin 1 pixel
kiri_tepi = zeros(size(a,1),1);
a = [kiri_tepi,a,kiri_tepi];
atas_tepi = zeros(1,size(a,2));
a = [atas_tepi;a;atas_tepi];

inc = 1;
boundary_pixel = zeros(size(a,1),size(a,2));
for i=1:size(a,1)
    for j=1:size(a,2)
        %cek atas jika
        if (i-1)>=1
            if a(i,j)~=0 && a(i-1,j)==0
                a(i,j)=inc;
                boundary_pixel(i,j)=1;                
            end
        end
        %cek bagian bawah jika
        if (i+1)<=size(a,1)
            if a(i,j)~=0 && a(i+1,j)==0
                a(i,j)=inc;
                boundary_pixel(i,j)=1;
            end
        end
        %cek bagian kiri jika
        if (j-1)>=1
            if a(i,j)~=0 && a(i,j-1)==0
                a(i,j)=inc;
                boundary_pixel(i,j)=1;
            end
        end
        %cek bagian kanan jika
        if (j+1)<=size(a,2)
            if a(i,j)~=0 && a(i,j+1)==0
                a(i,j)=inc;
                boundary_pixel(i,j)=1;
            end
        end
        inc = inc+1;
         
    end
end
%hilangkan padding lagi
boundary_pixel = boundary_pixel(2:end-1,2:end-1); 

Implementasi

clc;clear all;close all;
I = imread('cog.jpg');
bw = im2bw(I);
figure,imshow(traceboundaryrevisi1(bw)),title('trace boundary')
figure,imshow(edge(bw,'canny')),title('edge canny')