clc; clear all ; [a,b] = imread('polpot.jpg'); [m,n,o] = size(a); % pertama akan ditentukan apakah nilai RGB pada koordinat seragam. Misalnya % kita ambil sampel koordinat dari 10 baris pertama dan 10 kolom pertama. HJ = (a(1:10,1:10,1) == a(1:10,1:10,3) ) & ((a(1:10,1:10,1) == a(1:10,1:10,2) )) ; HJ %% % yang ternyata elemen matriks HJ semua 1 yang menandakan semua nilai RGB piksel seragam. % Untuk membuktikan, coba kita Print % nilai elemen pada baris dan kolom tersebut a(1:10,1:10,:) %% % sekarang karena outputnya seragam maka otomatis nilai sum terhadap % seluruh matriks HJ akan sama dengan penjumlahan terhadap seluruh matrix % 'ones' yang ukurannya sama dengan HJ. Jika logika ini kita perumum, akan bisa digunakan pada % kasus matrik HH yang mencakup seluruh area dari image, yang akan kita % peroleh adalah HH = (a(:,:,1) == a(:,:,2)) & (a(:,:,1) == a(:,:,3)); if sum(sum(HH)) == sum(sum(ones(m,n))) M = a(:,:,1) <10; disp(['persen area yang nilai pixel-nya di bawah 10 (nilai 0 berarti hitam): ',... num2str(sum(sum(M))/sum(sum(ones(m,n)))*100), ' persen']); else disp('nilai pixel tidak seragam') % karena nilai pixel tidak seragam, maka kita bisa gunakan asumsi bahwa % nilai pixel yang mendekati warna gelap itu yang nilai pixel-nya % kurang dari 5 untuk R, 5 untuk G, dan 5 untuk B. Memang nilai pixel % yang benar-benar hitam adalah R = 0, G = 0, dan B = 0. Akan tetapi % kita hanya mendapat sedikit porsi dari area image untuk nilai tersebut. % Jadi kita gunakan pendekatan tadi. M = (a(:,:,1) < 5) & (a(:,:,2) < 5) & (a(:,:,3) < 5); disp(['persen area yang nilai pixel untuk R < 5; G < 5, dan B < 5: ',... num2str(sum(sum(M))/sum(sum(ones(m,n)))*100), ' persen']); end %% % Kita juga bisa menentukan pada baris dan kolom mana saja yang nilai pixel % R, G, B tidak seragam logic = (a(:,:,1)== a(:,:, 2)) & (a(:,:,1)== a(:,:,3)); [x1,x2,x3] = ind2sub(size(a),find(~logic)); disp('10 baris pertama dan 10 kolom pertama yang pikselnya tidak seragam: '); x1(1:10)' x2(1:10)' disp('nilai RGB pada baris dan kolom tersebut: '); a(x1(1:10),x2(1:10),:)
Sesungguhnya shalat itu mencegah dari (perbuatan-perbuatan) keji dan mungkar
Q.S. Al-'Ankabut Ayat 45
Sunday, April 13, 2014
Menghitung luas area yang gelap pada image di MATLAB
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment