Page 186 - E-MODUL PCD 2
P. 186

Implementasi  pembentukan  convex  hull  dituangkan  pada  fungsi  bernama
                        convhull, dengan kode sebagai berikut.

                               function G = convhull(A)
                               % CONVHULL Untuk melakukan operasi convex hull terhadap
                            citra A
                               %     dengan menggunakan 4 elemen penstruktur
                               %     G = Convex hull

                               [tinggi, lebar] = size(A);

                               % Elemen penstruktur
                               H1 = [ 1 -1 -1; 1 0 -1; 1 -1 -1 ];
                               H2 = [ 1 1 1; -1 0 -1; -1 -1 -1 ];
                               H3 = [ -1 -1 1; -1 0 1; -1 -1 1 ];
                               H4 = [ -1 -1 -1; -1 0 -1; 1 1 1 ];

                               C = zeros(tinggi, lebar);
                               C = or(C, chull(A, H1));
                               C = or(C, chull(A, H2));
                               C = or(C, chull(A, H3));
                               C = or(C, chull(A, H4));

                               G
                            =
                            C;
                               function [G, k] =
                            chull(A, B) %   A = Citra
                               %   B = elemen penstruktur
                               %   G = Hasil yang konvergen
                               %   k = iterasi hingga korvergen

                               [tinggi, lebar] = size(A);

                            k=1;
                            Ckmin1
                            = A;
                            while
                            (true)
                                   Ck = or(Ckmin1, thm2(Ckmin1,B));

                                   % Cek Ckmin1 apa sama
                            dengan Ck     sama = true;
                            for baris = 1 : tinggi
                            for kolom = 1 : lebar
                                           if Ckmin1(baris, kolom) ~=
                            Ck(baris, kolom)                sama = false;
                            break;             end         end


                                                                                                   186
   181   182   183   184   185   186   187   188   189   190   191