MY 교육수강/영상처리

[영상처리(9.14)] 히스토그램 평활화 3단계 - 사진 평활화 적용하기

광천스러움 2012. 9. 14. 14:23

 

 사진 평활화 적용하기! -> 시험에 꼭 나온다!!

 

%히스토그램 픽셀 누적값 구하기

im = imread('lena_256.bmp');
[row col] = size(im); %행/열 구분

hist_val = zeros(1,256); %256개 1차원배열 생성

%사진 고유의 값 = 밝으면 숫자가 크고, 어두우면 작다.
for i = 1:row
    for j = 1:col
        n = im(i,j);
        hist_val(n) = hist_val(n) + 1;  %누적값 구하기
    end
end

sum_val(1) = hist_val(1);
for n = 2:256
    sum_val(n) = hist_val(n) + sum_val(n-1);
end
plot(sum_val);

for i=1:row
    for j = 1:col
        pixel = im(i,j);
        pixel = sum_val(pixel+1)*(255/(row*col)); %평활화 3단계 적용
        equal_im(i,j) = round(pixel); %round:반올림
    end
end

subplot(121), imshow(uint8(im)); %uint8:더블값일때 써준다
subplot(122), imshow(uint8(equal_im));