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]);
Reference
이 문제에 관하여(2.3.4 각종 콘트라스트 조정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/bccd2fb599c3b278d1d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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]);
Reference
이 문제에 관하여(2.3.4 각종 콘트라스트 조정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/bccd2fb599c3b278d1d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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]);
Reference
이 문제에 관하여(2.3.4 각종 콘트라스트 조정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/bccd2fb599c3b278d1d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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]);
Reference
이 문제에 관하여(2.3.4 각종 콘트라스트 조정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/bccd2fb599c3b278d1d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
% フラットなヒストグラム
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]);
Reference
이 문제에 관하여(2.3.4 각종 콘트라스트 조정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/bccd2fb599c3b278d1d1
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
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]);
Reference
이 문제에 관하여(2.3.4 각종 콘트라스트 조정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shun-kusano/items/bccd2fb599c3b278d1d1텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)