Konvolusi
(convolution) adalah sebuah proses dimana citra dimanipulasi dengan
menggunakan eksternal mask / subwindows untuk menghasilkan citra yang
baru. Sedangkan Filtering tanpa menggunakan ekternal mask tetapi hanya
menggunakan pixel tetangga untuk mendapatkan pixel yang baru.
Histogram
Histogram adalah representasi grafis untuk distribusi warna dari citra digital. Sumbu ordinat vertikal merupakan representasi piksel dengan nilai tonal dari tiap-tiap deret bin pada sumbu axis horizontalnya. Sumbu axis terdiri dari deret logaritmik bindensitometry yang membentuk rentang luminasi atau exposure range yang mendekati respon spectral sensitivity visual mata manusia. Deret bin pada density yang terpadat mempunyai interval yang relatif sangat linear dengan variabel mid-tone terletak tepat di tengahnya.
Pada umumnya, sebuah histogram hanya memetakan seluruh nilai tonal dari citra digital pada bin luminasi masing-masing. Nilai tonal tersebut telah tersedia dalam color space yang umum digunakan adalah sRGB dan AdobeRGB yang mempunyai nilai gamma γ = 2,2.
Informasi yang didapat dari Histogram:
Histogram adalah representasi grafis untuk distribusi warna dari citra digital. Sumbu ordinat vertikal merupakan representasi piksel dengan nilai tonal dari tiap-tiap deret bin pada sumbu axis horizontalnya. Sumbu axis terdiri dari deret logaritmik bindensitometry yang membentuk rentang luminasi atau exposure range yang mendekati respon spectral sensitivity visual mata manusia. Deret bin pada density yang terpadat mempunyai interval yang relatif sangat linear dengan variabel mid-tone terletak tepat di tengahnya.
Pada umumnya, sebuah histogram hanya memetakan seluruh nilai tonal dari citra digital pada bin luminasi masing-masing. Nilai tonal tersebut telah tersedia dalam color space yang umum digunakan adalah sRGB dan AdobeRGB yang mempunyai nilai gamma γ = 2,2.
Informasi yang didapat dari Histogram:
- Puncak histogram → intensitas pixel yangpaling menonjol.
- Lebar puncak → rentang kontras.
- Over‐exposed (terlalu terang) dan under‐exposed (terlalu gelap) memiliki rentang kontras sempit.
- Citra yang baik mengisi daerah derejatkeabuan secara penuh dan merata pada setiap nilai intensitas pixel.
- Buka Matlab (saya menggunakan versi R2015a)
- Buat script baru , New -> Script (atau Ctrl + N)
- Copy dan paste code berikut ini
im = imread('foto.jpg');
figure;
subplot(2,1,1);
imshow(im);
subplot(2,1,2);
imhist(im);
out = histeq(im, 256); %//or you can use my function: out = hist_eq(im);
figure;
subplot(2,1,1);
imshow(out);
subplot(2,1,2);
imhist(out); - Hasilnya seperti ini:
Contoh 2 Penggunaan Histeq
Copy dan paste code berikut ini
GIm=imread('foto.jpg');
Hasilnya
numofpixels=size(GIm,1)*size(GIm,2);
figure,imshow(GIm);
title('Original Image');
HIm=uint8(zeros(size(GIm,1),size(GIm,2)));
freq=zeros(256,1);
probf=zeros(256,1);
probc=zeros(256,1);
cum=zeros(256,1);
output=zeros(256,1);
%freq counts the occurrence of each pixel value.
%The probability of each occurrence is calculated by probf.
for i=1:size(GIm,1)
for j=1:size(GIm,2)
value=GIm(i,j);
freq(value+1)=freq(value+1)+1;
probf(value+1)=freq(value+1)/numofpixels;
end
end
sum=0;
no_bins=255;
%The cumulative distribution probability is calculated.
for i=1:size(probf)
sum=sum+freq(i);
cum(i)=sum;
probc(i)=cum(i)/numofpixels;
output(i)=round(probc(i)*no_bins);
end
for i=1:size(GIm,1)
for j=1:size(GIm,2)
HIm(i,j)=output(GIm(i,j)+1);
end
end
figure,imshow(HIm);
title('Histogram equalization');
%The result is shown in the form of a table
figure('Position',get(0,'screensize'));
dat=cell(256,6);
for i=1:256
dat(i,:)={i,freq(i),probf(i),cum(i),probc(i),output(i)};
end
columnname = {'Bin', 'Histogram', 'Probability', 'Cumulative histogram','CDF','Output'};
columnformat = {'numeric', 'numeric', 'numeric', 'numeric', 'numeric','numeric'};
columneditable = [false false false false false false];
t = uitable('Units','normalized','Position',[0.1 0.1 0.4 0.9], 'Data', dat,'ColumnName', columnname,'ColumnFormat', columnformat,'ColumnEditable', columneditable,'RowName',[]);
subplot(2,2,2); bar(GIm);
title('Before Histogram equalization');
subplot(2,2,4); bar(HIm);
title('After Histogram equalization');
Terima kasih
Tidak ada komentar:
Posting Komentar