Salah satu contoh kasusnya adalah menghitung grafik histogram pada citra menggunakan teknik KDE kernel density estimation
Contoh penggunakan KDE untuk proses pencocokan pada algoritma mean shift. Mean shift sering digunakan untuk melacak keberadaan objek yang bergerak / object tracking berdasarkan PDF (probabilty density function) menggunakan teknik yang sama dengan KDE
clc;clear all;close all;
X = imread('D:/pohon.bmp');
if ndims(X)==3
X = rgb2gray(X);
end
X=double(X);
X=sort(X(:));
Np= 50;
[xi3,f3] = mkde(X,Np,0.01);
figure,
subplot(1,2,1),imhist(uint8(X)),title('fungsi imhist matlab');
subplot(1,2,2),plot(xi3,f3),title('hampiran dengan menggunakan KDE');
function [xi,f] = mkde(X,Np,h)
%%menghitung kde dengan function normal
%%oleh mulkan.ms@gmail.com
%%update : september 2014
%%X matrix
%%Np panjang / nilai maksimal
%%h tingkat smooth
Sigma = std(X);%%menghitung variance
X = X/Sigma; %%normalisasi
Maksimal = max(X(:)); %%cari nilai maksimal
Minimal = min(X(:)); %%cari nilai minimal
b = (Maksimal-Minimal)/(Np-1.0);
T = Minimal+b*(1:Np); %%titik yang akan ditest
N = size(X,1)*size(X,2);
c = sqrt(2*pi)*N*h;
for i = 1:Np
a = 0;
for j = 1:N
b = (T(i)-X(j))/h;
a = a+exp(-b*b*0.5);
Y(i) = a/c;
end
end
xi = 1:Np;
f = Y;
end
No comments:
Post a Comment