2.3.4 각종 콘트라스트 조정

목차에 대한 링크



MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차

개요



MATLAB에 의한 각종 콘트라스트 조정에 대해 소개합니다.

Image Processing Toolbox가 필요합니다.

지원 파일: I2_03_4_contrast.m

초기화



코드
clc;clear;close all;imtool close all;

이미지 로드



코드
I = imread('I2_03_peppers_low.png');
Gray = rgb2gray(I);  % グレースケールへ変換
figure;imshow(Gray);



코드
figure;imhist(Gray);     % 輝度値のヒストグラムを表示



저·고휘도로 1% 포화되도록 자동 조정



코드
Gray1 = imadjust(Gray);
figure;imhist(Gray1);



코드
% 処理前後の画像を並べて表示
figure;imshow([Gray Gray1]);



히스토그램 균등화를 이용한 콘트라스트 강조 : 빈 간격을 조정하여 평평해지도록



코드
Gray2 = histeq(Gray, 256);
figure;imhist(Gray2);



코드
% 表示
figure;imshow([Gray1 Gray2]);



대비를 제한하는 적응 히스토그램 균등화



기본적으로 이미지를 8x8 타일로 나누어 각 타일에서 히스토그램 균등화를 수행합니다. 타일 ​​경계에서 불연속적인 결과가 되지 않게, 타일 마다의 결과를 가중치 해 되도록(듯이) 처리됩니다.

코드
% フラットなヒストグラム
Gray3 = adapthisteq(Gray,'Distribution','uniform');
figure;imhist(Gray3);



코드
%% 表示
figure;imshow([Gray1 Gray3]);



벨형 히스토그램



각 타일에서 맞추는 히스토그램의 모양을 변경할 수 있습니다.

코드
Gray4 = adapthisteq(Gray,'Distribution','rayleigh');
figure;imhist(Gray4);



코드
% 表示
figure;imshow([Gray3 Gray4]);



곡선 히스토그램



코드
Gray5 = adapthisteq(Gray,'Distribution','exponential');
figure;imhist(Gray5);



코드
% 表示
figure;imshow([Gray3 Gray4 Gray5]);



커브 히스토그램: 대비 강조 제한 조정



특히 값의 변화가 적은 영역에서는 미묘한 화소의 값의 차이가 보다 강하게 강조되기 때문에, 콘트라스트 평균화에 의해 노이지한 결과가 됩니다. 이를 방지하기 위해 ClipLimit 속성을 사용할 수 있습니다. MATLAB에서 ClipLimit은 0-1 사이에서 정의되지만, 이것은 총 픽셀 수로 정규화 된 히스토그램의 빈도를 나타냅니다. 이 값을 넘은 빈도가 되고 있는 화소치는 전체적으로 일단 되고 그 상태에서 히스토그램 평균화가 걸리는 것으로, 과도한 히스토그램 균등화를 막는 구조가 되어 있는 것 같습니다. 그래서 0이라면 아무런 균등화도 걸리지 않게 되고, 1이라면 강렬하게 균등화된다는 것입니다.

아래의 예에서는 반대로 Limit을 걸지 않으면 어떻게 되는지를 알 수 있습니다. 마음껏 노이지군요.

코드
Gray6 = adapthisteq(Gray,'Distribution','exponential', 'ClipLimit', 1);
figure;imhist(Gray6);



코드
% 表示
figure;imshow([Gray3 Gray4 Gray5 Gray6]);

좋은 웹페이지 즐겨찾기