tutorial (64) riset (62) python (34) machine learning (19) matlab (10) tajuk (10) data minning (8) kriptografi (6) java (4) clustering (3) mysql (3) Steganografi (2) SVM (1) bisnis (1) optimasi (1) pyQT (1) web service (1)

## Sabtu, 11 Oktober 2014

### Mengenal function imfilter dan conv2 di matlab

Ada suatu pertanyaan dari kawan yaitu mengenai cara membuat filter gaussian dan mengimplementasikan kedalam suatu citra

menggunakan function imfilter atau conv2

``````clc;clear all;close all;
%% www.softscients.web.id
%% menggunakan function buil-in yaitu fspecial
myfilter = fspecial('gaussian',[5 5],2); %%membuat filter
%% menggunakan function imfilter
Ig(:,:,1) = imfilter(double(I(:,:,1)),myfilter,'same');
Ig(:,:,2) = imfilter(double(I(:,:,2)),myfilter,'same');
Ig(:,:,3) = imfilter(double(I(:,:,3)),myfilter,'same');
figure,imshow(uint8(Ig)),title('imfilter -- www.softscients.web.id');

%% menggunakan function yang dibuat sendiri yaitu gaussian2d
myfilter2 = gaussian2d(5,2); %%membuat filter
%% menggunakan teknik convolution yaitu function conv2
Ig2(:,:,1) = conv2(double(I(:,:,1)),myfilter2,'same');
Ig2(:,:,2) = conv2(double(I(:,:,2)),myfilter2,'same');
Ig2(:,:,3) = conv2(double(I(:,:,3)),myfilter2,'same');
figure,imshow(uint8(Ig2)),title('convolution -- www.softscients.web.id');     ```
```

Jika kita ingin membuat filter gaussian bisa menggunakan berikut

``````function f=gaussian2d(N,sigma)
%% http://stackoverflow.com/questions/13193248/how-to-make-a-gaussian-filter-in-matlab
N = N - 1;
[x y] = meshgrid(round(-N/2):round(N/2), round(-N/2):round(N/2));
f = exp(-x.^2/(2*sigma^2)-y.^2/(2*sigma^2));
f = f./sum(f(:));       ``````

citra asli

citra yang diberi filter gaussian - blur

Pada dasarnya function imfilter bekerja dengan teknik convolution

Posting Komentar