컬러 이미지를 어떻게 이진화합니까?


14

제 친구는 중국어 필기로 채색 된 이미지 (기본적으로 백서에 쓴 내용을 스캔하거나 스캔하여)를 가지고 있으며,이를 흑백 이진 이미지로 변환하고 싶습니다. Ubuntu에이를 수행 할 수있는 응용 프로그램이 있습니까?

다음은 이미지 예입니다.

여기에 이미지 설명을 입력하십시오


답변:


27

이미지 처리에서 원하는 것을 "임계 값"이라고합니다. 기본적으로 이미지를 입력으로 가져와 주어진 임계 값 이하의 값을 가진 모든 픽셀과 검은 색으로 설정된 모든 픽셀을 가진 이미지를 출력합니다. 이로 인해 임의의 입력 이미지에서 흑백 이미지가 생성됩니다.

일반적으로보다 예측 가능한 결과를 얻으려면 먼저 그레이 스케일로 변환하려고하지만 풀 컬러 이미지의 임계 값을 지정할 수도 있습니다.

김프와 같은 그래픽 도구를 사용하여 대화식으로 수행하거나 (주 메뉴-> 색상-> 임계 값을 통해 도구를 찾을 수 있음) 다음과 같은 ImageMagick을 사용할 수 있습니다.

convert colored.png -threshold 75% thres_colored.png

예제 이미지에서 위의 명령을 실행하면 아래와 같은 결과가 생성됩니다.

OP 이미지의 흑백 버전

임계 값은 종종 만족스러운 결과를 얻기위한 시행 착오 과정의 일부이기 때문에, 특히 소스 이미지가 이미 흑백에 가깝지 않은 경우 가능하면 GUI 방식을 권장하지만 그것은 명령 행을 통해서도 어떤 이유로 든 옵션이 아닙니다. 출력을보다 세밀하게 제어하려면 색상 곡선, 레벨 및 대비와 같은 도구를 먼저 사용하여 임계 값 이전에 이미지의 밝은 부분과 어두운 부분을 더 잘 분리 할 수 ​​있습니다. (실제로 임계 값은 색상 곡선 도구를 사용하는 극단적 인 경우로 볼 수 있습니다.)


2
감사! 컬러 이미지에는 RBG 3 개의 채널이 있으므로 임계 값은 일반적으로 무엇에 적용됩니까?
Tim

@Tim 아마도 소프트웨어에 달려 있지만, (채널 당 또는 특정 채널에 대해 지정하지 않는 한 ImageMagick의 변환 -channel옵션 참조) 임계 값이 픽셀의 일종의 "값"에 적용될 것으로 예상됩니다. 모든 채널에서. 그것이 더 예측 가능한 결과를 위해 먼저 회색조로 변환하고 싶을 수도 있다고 말한 이유입니다. (또한 내 편집을 참조하십시오.)
CVn

감사! 게시물에 표시된 명령에 임계 값이 적용되는 것에 대한 문서가 있습니까?
Tim

@Tim 실제로는 아닙니다. 최대 값의 백분율 (채널당 256이어야 함) 또는 특정 값을 변환하도록 예상했지만 백분율을 지정할 때 유용한 결과 만 얻을 수있었습니다. 김프를 포함한 그래픽 도구를 사용하면 이미지의 색조 분포를 보여주는 히스토그램이 나타납니다. 그것은 적절한 가치를 고르는데 큰 도움이 될 것입니다. 당신이 그렇게 할 수있는 특정의 이유가없는 한, 단지 명령 줄을 사용하여,이다 아마 정말, 그것의 가치보다 더 문제.
CVn

2
부수적으로, 하드 코딩 된 임계 값 레벨에 의존 할 필요가없는 다른 임계 값 방법이 존재한다. 예를 들어, ImageMagick은 -lat주변 픽셀을 고려하여 로컬 적응 임계 값을 수행하는 것을 포함 합니다.
voithos

7

Imagemagick을 사용할 수 있습니다 :

convert test.png -colorspace Gray gray_colorspace.png

에서 여기 .

다음은 이미지에 적용한 후 얻은 것입니다.

여기에 이미지 설명을 입력하십시오


10
"이진"은 "2"를 의미하는 "bi"에서 유래하므로 OP는 이미지를 순수한 흑백으로 변환하려고합니다. 그레이 스케일로 변환하면 둘 이상의 레벨이 생성됩니다.
CVn

동의했다! 말이됩니다, +1
mkc

2

ImageMagick의 -monochrome 은 스마트 디더링을 사용하는 옵션으로,-threshold사람이 소비 할 의도보다 출력을 훨씬 더 잘 보이게합니다.

convert -monochrome signature.png out.png

여기에 이미지 설명을 입력하십시오

이러한 단순한 이미지에는 큰 차이가 없지만 큰 이미지에는 눈에 띄게 나타납니다.


1

netpbm툴킷을 사용 하여이 작업을 쉽게 수행 할 수도 있습니다 .

anytopnm inputfile | ppmtopgm | pgmtopbm > outputfile

ppmtopgm회색조 이미지로 pgmtopbm변환 하고 흑백 이미지로 변환 한 다음 출력을 파일로 리디렉션합니다. pbm 형식입니다. 더 일반적인 것을 원하면 출력 변환기를 추가해야합니다 (예 : pnmtopng또는 이와 같은 것)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.