Sie sind auf Seite 1von 3

Langkah Pengambilan gambar untuk database

1. Persiapan
a. Web Kamera
b. Alas bewarna hitam seluas 60 cm x 60 cm
c. Tiang/rangka untuk meletakkan web kamera setinggi 50 cm 70 cm

2. Teknik Pengambilan gambar untuk Database


a. Letakkan objek di sembarang posisi dengan berbagai sudut
b. Atur pencahayaan sesuai dengan keinginan
c. Ambil gambar setiap objek untuksetiap posisi dan pengaturan cahaya
d. Pengambilangambar sebaiknya menggunakan program matlab agar kualitas gambar untuk
database sama dengan kualitas gambar untuk identifikasi
e. Beri nama objek sesuai dengan kriteria/jenisnya, mis A-1, B-1, C1 atau klAl1, klNAl1 dll
f. Ambil gambar sebanyak-banyaknya untuk mencari gambar dengan kualitas terbaik

3. Pembuatan database
a. Gambar yang telah dipilih diberi nama sesuai dengan inisial yang akan diambil
b. Buat program untuk mengambil ciri/feature dari objek yang akan diambil
c. Ambil ciri dari setiap objek dan slanjutnya dibuat untuk menjadi database

4. Cara pengambilan ciri untuk database


a. Membaca gambar digital
% Membaca citra asli
RGB = imread('A-1.bmp');
b. Melakukan transformasi ruang warna citra
Color Detection
[m,n,~] = size(Img);
hsv = rgb2hsv(Img);
H = hsv(:,:,1);
for y = 1:m
for x = 1:n
h = H(y,x);
if h < 11/255 % merah
h = 0;
elseif h < 116/255 % hijau
h = 85/255;
elseif h < 185/255 % biru
h = 170/255;
end
c. Kemudian dilakukan pelatihan pengenalan pola warna menggunakan metoda ANN, ANFIR,
dll
clear all
clc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%
%% Pre-Processing
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
% open the selected imej
[filename,path]=uigetfile('*.*','Select File');
if filename==0;
return
else
tic
aa=imread(filename);

%subplot(121);imshow(aa);title('Original Image')
K1=imresize(aa,[100 100],'nearest');
counterRED = 0;
counterGREEN = 0;
counterBLUE = 0;

[rows,cols,colors]=size(K1);

%Subplot(221),imshow(K1),title('Original Image')

for row=1:1;
for col=1:1;
r=K1(row,col,1)
g=K1(row,col,2)
b=K1(row,col,3)
TotalRed=sum(r(:,:,1))
TotalGreen=sum(g(:,:,1))
TotalBlue=sum(b(:,:,1))
% percentred=100*TotalRed/(TotalRed+TotalGreen+TotalBlue)
% percentgreen=100*TotalGreen/(TotalRed+TotalGreen+TotalBlue)
% percentblue=100*TotalBlue/(TotalRed+TotalGreen+TotalBlue)

% detecminning the red filter


if K1(row,col,2) >100 | K1(row,col,3) > 100 | K1(row,col,1)<100;
K1(row,col,1)=0;
K1(row,col,2)=0;
K1(row,col,3)=0;
end

if K1(row,col,1) >150 ;
K1(row,col,1)=255;
K1(row,col,2)=0;
K1(row,col,3)=0;
else
K1(row,col,1)=0;
K1(row,col,2)=0;
K1(row,col,3)=0;

end

if K1(row,col,1) > 150;


%counterGREEN = counterGREEN + 1;
%counterBLUE = counterBLUE + 1;
counterRED = counterRED + 1;
%counterRED = counterRED + 1;

end
end % for row
end % for col

%subplot(222),imshow(K1),title('R Components Image')


I = im2uint8(K1(:));
num_bins =length(I);
counts = imhist(I,num_bins);
p = counts / sum(counts);
omega = cumsum(p);
mu = cumsum(p .* (1:num_bins)');
mu_t= mu(end);
state=warning;
warning off;
sigma_b_squared=(mu_t*omega-mu).^2./(omega.*(1- omega));
warning(state);
maxval = max(sigma_b_squared);
if isfinite(maxval)
idx = mean(find(sigma_b_squared == maxval));
value = (idx -1)/(num_bins -1);
end
%ther=value/10
ther=0.2; %0.1 UNTIL 0.25
d=im2bw(K1,ther);
all=sum(sum(d));

%if percent < 10


%subplot(223),imshow(d),title('R Components Image')
% TotalRed1=sum(sum(sum(r)));
% TotalGreen1=sum(sum(sum(g)));
% TotalBlue1=sum(sum(sum(b)));

% show red filter percentage of each category


out=all /(rows*cols);
% if ther<0.15
% load net
% if ther<>
%%% Network Calsiidication
load Net_NeuralNetworkThreshold

Y=sim(Net_NeuralNetworkThreshold,out);

Das könnte Ihnen auch gefallen