Cari Blog Ini

Rabu, 10 November 2010

Tutorial Machine Vision


Tulisan pertama adalah “Cara Mengembangkan Daya Ingat”, kenapa itu?.
Saya ingin semua orang menjadi pintar dan tidak mudah untuk dibohongi apalagi diperintah seenaknya saja tanpa mempedulikan perasaan yang ada di hati. Baiklah tidak usah panjang lebar lagi, saya akan berbagi ilmu apa yang telah saya dapatkan selama hidup saya. Sebelumnya saya meminta maaf terlebih dahulu, sama halnya seperti ‘Gading yang Tak Retak’. Tulisan yang saya buat juga pasti ada kelemahan. Oleh karena itu, mohon kritik dan saran yang membangun dari teman-teman.
Dari judul di atas dapat diketahui bahwa pada tulisan ini saya akan membahas tentang machine vision. Mungkin tidak terlalu detail, karena saya hanya membahas bagaimana memainkan image. Machine vision adalah kemampuan computer untuk ‘melihat’. Machine vision, computer vision, dan image processing adalah satu kesatuan yang berbeda dan berdiri sendiri, tetapi saling berhubungan.
Baiklah cukup segitu saja pendahuluan, kita langsung bagaimana cara mengolah gambar menggunakan MATLAB. Image merupakan kumpulan piksel-piksel. Piksel-piksel ini terdapat nilai untuk mendifinisikan warna pada image.
 Matriks RGB

Image RGB (Red Green Blue) memiliki 3 lapisan yang digabung menjadi 1 lapisan, sedangkan Grayscale (B/W) hanya memiliki 1 lapisan.
 Matriks Grayscale
Oleh karena itu, saya menggunakan MATLAB untuk mengolah data matriks image, karena lebih mudah dan sangat simple.
Tutorial 1 membuat fungsi untuk memindahkan nilai pada matriks
function y=change(a,b,c,d,e,f)

%Fungsi ini digunakan untuk memindahkan koordinat pada matrik ke koordinat
%yang diinginkan. Misalkan koordinat (1:4,3) pada matrik 4x4 ingin
%dipindahkan ke koordinat (1:4,1).
%Pengertian dari function di atas adalah
%a adalah matrik aslinya
%b adalah kolom yang ingin dipindahkan
%c adalah row yang ingin dipindahkan                                                                                       
%d adalah kolom yang akan dituju
%e adalah row yang akan dituju
%y adalah matrik hasil perubahan
%
%cara penulisan fungsi tersebut adalah
%change([1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16],(1:4),(3),(1:4),(1))
%hasilnya adalah
%matrik awal 1  2  3  4   matrik akhir  4   2   3   1
%            5  6  7  8                 8   6   7   5
%            9  10 11 12                12  10  11  9
%            13 14 15 16                16  14  15  13


A=a
[k l]=size(A);
[m n]=size(A(b,c));
[o p]=size(A(d,e));

if ([k l]>=[m n] & [k l]>=[o p])
    if ([m n]==[o p])
        temp=A(b,c);
        A(b,c)=A(d,e);
        A(d,e)=temp;
        y=A
    elseif ([m n]>=[o p])
        disp('matrik tujuan lebih kecil dari matrik yang ingin dipindahkan')
    elseif ([m n]<=[o p])
        disp('matrik tujuan lebih kecil dari matrik yang ingin dipindahkan')
    else
        disp('error')
    end
elseif ([k l]<=[m n] & [k l]>=[o p])
    disp('matrik yang akan dipindahkan lebih besar dari pada matrik asal')
elseif ([k l]<=[m n] & [k l]<=[o p])
    disp('matrik yang akan dipindahkan dan matrik tujuan lebih besar dari matrik asal')
else
    disp('error')
end

       
Tutorial 2 Membuat perkalian matriks dengan mask
function y=masking (a,b)

%dibuat oleh : jediel b r
%npm         : 0706267111
%
%function ini digunakan untuk membuat suatu penutup pada matrik dengan
%tujuan membuat matrik tersebut menjadi tertutupi oleh suatu nilai yang
%ditentukan.
%maksud dari function di atas adalah
%a adalah matrik asal
%b adalah matrik masking
%y adalah keluaran dari function ini
%contoh memanggil function ini
%masking([1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16],[1 2; 0 2])


[k l]=size(a);
[m n]=size(b);

if k>=m & l>=n
    d=k-m+1;
    e=l-n+1;
    for i=1:1:d
        for j=1:1:e
            a(i:m+(i-1),j:n+(j-1))=a(i:m+(i-1),j:n+(j-1)).*b
           
        end
        j=0;
    end
else
    disp('Matrik masking b melebihi matrik a');
end
bersambung,,
 

2 komentar:

  1. Kok jadi pusing ya bacanya :P masih bersambung pula..hehe

    Keep posting yaa! -diana

    BalasHapus
  2. wah mkasih bnyak diana,, itu masih bersambung.. klo blajar dari dsar itu perlu waktu lama

    BalasHapus