2.3.1 2치화·적응 2치화
목차에 대한 링크
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
개요
MATLAB에 의한 이진화, 적응 이진화에 대해 소개합니다. 매우 간단합니다.
Image Processing Toolbox가 필요하네요. 네.
지원 파일: I2_03_1_adaptThresholding.m
초기화
코드clc;clear;close all;imtool close all;
이미지 읽기/표시
코드G = imread('coins.png');
% 可視化
figure; imshow(G);
Otsu 방법으로 대국적 임계 값으로 이미지를 이진화
코드BW = imbinarize(G);
% 可視化
figure; imshow(BW);
구멍을 채우다
코인의 내부가 이진화되어 있지 않기 때문에, 별도의 형태 처리로 메워 버립니다.
코드BWf = imfill(BW, 'holes');
% 可視化
figure; imshow(BWf);
적응 이진화
다음으로 적응 이진화에 대해 살펴보겠습니다. 방금 전의 방법은, 화상 전체에 같은 임계치를 적용해, 2치화해 갔습니다. 이에 대해 이쪽은 이미지의 위치에 따라 임계값을 적응적으로 바꾸어 이진화하는 것입니다. 배경의 밝기에 편차가 있는 경우에 효과를 발휘합니다.
코드G = imread('printedtext.png');
% 可視化
figure; imshow(G);
보시다시피 밝기에 상당한 차이가 있습니다.
휘도의 국소 평균을 이용하여 화소 단위로 적응 임계치 계산
코드T = adaptthresh(G, 0.4, 'ForegroundPolarity','dark'); % 黒い部分が前景
figure; imshow(T); % しきい値の可視化
코드%% 算出したしきい値で、画像を二値化・表示
BW = imbinarize(G, T);
imshow([G; BW*256]); truesize; shg; % 原画像を結果を、縦に並べて表示
이미지의 위치에 관계없이 제대로 2치화되어 있군요. 다른 예도 살펴보겠습니다.
코드% 別の画像の読込み・表示
G = imread('rice.png');
figure; imshow(G);
코드% 画像を適応二値化・表示
BW = imbinarize(G, 'adaptive', 'sensitivity',0.4);
figure; imshowpair(G, BW, 'montage');
이쪽도 제대로 되어있네요. 위치에 따라 임계값이 바뀌므로 결과 이미지가 패치에 불연속이 될 수 있습니다. 적절히 구분하는 것이 중요하다고 생각합니다.
감사의 말
이 기사는 @eigs 님의 livescript2markdown 을 사용하겠습니다.
목차에 대한 링크
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
Reference
이 문제에 관하여(2.3.1 2치화·적응 2치화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/80ab485a709d649f1a03
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MATLAB에 의한 이진화, 적응 이진화에 대해 소개합니다. 매우 간단합니다.
Image Processing Toolbox가 필요하네요. 네.
지원 파일: I2_03_1_adaptThresholding.m
초기화
코드clc;clear;close all;imtool close all;
이미지 읽기/표시
코드G = imread('coins.png');
% 可視化
figure; imshow(G);
Otsu 방법으로 대국적 임계 값으로 이미지를 이진화
코드BW = imbinarize(G);
% 可視化
figure; imshow(BW);
구멍을 채우다
코인의 내부가 이진화되어 있지 않기 때문에, 별도의 형태 처리로 메워 버립니다.
코드BWf = imfill(BW, 'holes');
% 可視化
figure; imshow(BWf);
적응 이진화
다음으로 적응 이진화에 대해 살펴보겠습니다. 방금 전의 방법은, 화상 전체에 같은 임계치를 적용해, 2치화해 갔습니다. 이에 대해 이쪽은 이미지의 위치에 따라 임계값을 적응적으로 바꾸어 이진화하는 것입니다. 배경의 밝기에 편차가 있는 경우에 효과를 발휘합니다.
코드G = imread('printedtext.png');
% 可視化
figure; imshow(G);
보시다시피 밝기에 상당한 차이가 있습니다.
휘도의 국소 평균을 이용하여 화소 단위로 적응 임계치 계산
코드T = adaptthresh(G, 0.4, 'ForegroundPolarity','dark'); % 黒い部分が前景
figure; imshow(T); % しきい値の可視化
코드%% 算出したしきい値で、画像を二値化・表示
BW = imbinarize(G, T);
imshow([G; BW*256]); truesize; shg; % 原画像を結果を、縦に並べて表示
이미지의 위치에 관계없이 제대로 2치화되어 있군요. 다른 예도 살펴보겠습니다.
코드% 別の画像の読込み・表示
G = imread('rice.png');
figure; imshow(G);
코드% 画像を適応二値化・表示
BW = imbinarize(G, 'adaptive', 'sensitivity',0.4);
figure; imshowpair(G, BW, 'montage');
이쪽도 제대로 되어있네요. 위치에 따라 임계값이 바뀌므로 결과 이미지가 패치에 불연속이 될 수 있습니다. 적절히 구분하는 것이 중요하다고 생각합니다.
감사의 말
이 기사는 @eigs 님의 livescript2markdown 을 사용하겠습니다.
목차에 대한 링크
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
Reference
이 문제에 관하여(2.3.1 2치화·적응 2치화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/80ab485a709d649f1a03
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
clc;clear;close all;imtool close all;
코드
G = imread('coins.png');
% 可視化
figure; imshow(G);
Otsu 방법으로 대국적 임계 값으로 이미지를 이진화
코드BW = imbinarize(G);
% 可視化
figure; imshow(BW);
구멍을 채우다
코인의 내부가 이진화되어 있지 않기 때문에, 별도의 형태 처리로 메워 버립니다.
코드BWf = imfill(BW, 'holes');
% 可視化
figure; imshow(BWf);
적응 이진화
다음으로 적응 이진화에 대해 살펴보겠습니다. 방금 전의 방법은, 화상 전체에 같은 임계치를 적용해, 2치화해 갔습니다. 이에 대해 이쪽은 이미지의 위치에 따라 임계값을 적응적으로 바꾸어 이진화하는 것입니다. 배경의 밝기에 편차가 있는 경우에 효과를 발휘합니다.
코드G = imread('printedtext.png');
% 可視化
figure; imshow(G);
보시다시피 밝기에 상당한 차이가 있습니다.
휘도의 국소 평균을 이용하여 화소 단위로 적응 임계치 계산
코드T = adaptthresh(G, 0.4, 'ForegroundPolarity','dark'); % 黒い部分が前景
figure; imshow(T); % しきい値の可視化
코드%% 算出したしきい値で、画像を二値化・表示
BW = imbinarize(G, T);
imshow([G; BW*256]); truesize; shg; % 原画像を結果を、縦に並べて表示
이미지의 위치에 관계없이 제대로 2치화되어 있군요. 다른 예도 살펴보겠습니다.
코드% 別の画像の読込み・表示
G = imread('rice.png');
figure; imshow(G);
코드% 画像を適応二値化・表示
BW = imbinarize(G, 'adaptive', 'sensitivity',0.4);
figure; imshowpair(G, BW, 'montage');
이쪽도 제대로 되어있네요. 위치에 따라 임계값이 바뀌므로 결과 이미지가 패치에 불연속이 될 수 있습니다. 적절히 구분하는 것이 중요하다고 생각합니다.
감사의 말
이 기사는 @eigs 님의 livescript2markdown 을 사용하겠습니다.
목차에 대한 링크
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
Reference
이 문제에 관하여(2.3.1 2치화·적응 2치화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/80ab485a709d649f1a03
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
BW = imbinarize(G);
% 可視化
figure; imshow(BW);
코인의 내부가 이진화되어 있지 않기 때문에, 별도의 형태 처리로 메워 버립니다.
코드
BWf = imfill(BW, 'holes');
% 可視化
figure; imshow(BWf);
적응 이진화
다음으로 적응 이진화에 대해 살펴보겠습니다. 방금 전의 방법은, 화상 전체에 같은 임계치를 적용해, 2치화해 갔습니다. 이에 대해 이쪽은 이미지의 위치에 따라 임계값을 적응적으로 바꾸어 이진화하는 것입니다. 배경의 밝기에 편차가 있는 경우에 효과를 발휘합니다.
코드G = imread('printedtext.png');
% 可視化
figure; imshow(G);
보시다시피 밝기에 상당한 차이가 있습니다.
휘도의 국소 평균을 이용하여 화소 단위로 적응 임계치 계산
코드T = adaptthresh(G, 0.4, 'ForegroundPolarity','dark'); % 黒い部分が前景
figure; imshow(T); % しきい値の可視化
코드%% 算出したしきい値で、画像を二値化・表示
BW = imbinarize(G, T);
imshow([G; BW*256]); truesize; shg; % 原画像を結果を、縦に並べて表示
이미지의 위치에 관계없이 제대로 2치화되어 있군요. 다른 예도 살펴보겠습니다.
코드% 別の画像の読込み・表示
G = imread('rice.png');
figure; imshow(G);
코드% 画像を適応二値化・表示
BW = imbinarize(G, 'adaptive', 'sensitivity',0.4);
figure; imshowpair(G, BW, 'montage');
이쪽도 제대로 되어있네요. 위치에 따라 임계값이 바뀌므로 결과 이미지가 패치에 불연속이 될 수 있습니다. 적절히 구분하는 것이 중요하다고 생각합니다.
감사의 말
이 기사는 @eigs 님의 livescript2markdown 을 사용하겠습니다.
목차에 대한 링크
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
Reference
이 문제에 관하여(2.3.1 2치화·적응 2치화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/80ab485a709d649f1a03
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
G = imread('printedtext.png');
% 可視化
figure; imshow(G);
코드
T = adaptthresh(G, 0.4, 'ForegroundPolarity','dark'); % 黒い部分が前景
figure; imshow(T); % しきい値の可視化
코드
%% 算出したしきい値で、画像を二値化・表示
BW = imbinarize(G, T);
imshow([G; BW*256]); truesize; shg; % 原画像を結果を、縦に並べて表示
이미지의 위치에 관계없이 제대로 2치화되어 있군요. 다른 예도 살펴보겠습니다.
코드
% 別の画像の読込み・表示
G = imread('rice.png');
figure; imshow(G);
코드
% 画像を適応二値化・表示
BW = imbinarize(G, 'adaptive', 'sensitivity',0.4);
figure; imshowpair(G, BW, 'montage');
이쪽도 제대로 되어있네요. 위치에 따라 임계값이 바뀌므로 결과 이미지가 패치에 불연속이 될 수 있습니다. 적절히 구분하는 것이 중요하다고 생각합니다.
감사의 말
이 기사는 @eigs 님의 livescript2markdown 을 사용하겠습니다.
목차에 대한 링크
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
Reference
이 문제에 관하여(2.3.1 2치화·적응 2치화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/shun-kusano/items/80ab485a709d649f1a03
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MATLAB에 의한 화상 처리 · 컴퓨터 비전 입문 목차
Reference
이 문제에 관하여(2.3.1 2치화·적응 2치화), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/shun-kusano/items/80ab485a709d649f1a03텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)