Main Content

dither

디더링을 통해 명목 색 해상도를 높여 이미지 변환

설명

X = dither(RGB,map)은 컬러맵 map에서 색을 디더링하여 RGB 이미지에 대해 인덱스 이미지 근삿값을 생성합니다.

X = dither(RGB,map,Qm,Qe)는 역컬러맵의 각 색 축에 사용할 양자화 비트의 개수 Qm과 컬러스페이스 오차 계산에 사용할 양자화 비트의 개수 Qe도 지정합니다.

예제

BW = dither(I)는 디더링을 통해 회색조 이미지 I를 이진(흑백) 이미지 BW로 변환합니다.

예제

모두 축소

corn.tif 파일에서 MATLAB® 작업 공간으로 회색조 이미지를 읽어 들입니다. 이 회색조 이미지는 파일의 세 번째 이미지입니다.

corn_gray = imread('corn.tif',3);

imshow를 사용하여 회색조 이미지를 표시합니다.

imshow(corn_gray)

Figure contains an axes object. The axes object contains an object of type image.

dither 함수를 사용하여 이미지를 이진 이미지로 변환합니다.

corn_bw = dither(corn_gray);

이진 이미지를 표시합니다. 이진 이미지의 픽셀은 0 또는 1 값만 갖지만, 디더링으로 인해 이미지가 회색 음영을 갖는 것처럼 보입니다.

imshow(corn_bw)

Figure contains an axes object. The axes object contains an object of type image.

입력 인수

모두 축소

RGB 이미지로, 음이 아닌 숫자로 구성된 m×n×3 배열로 지정됩니다. double 데이터형의 이미지를 지정할 경우 값은 범위 [0, 1] 내에 있어야 합니다.

데이터형: single | double | uint8 | uint16

입력 컬러맵으로, 범위 [0, 1]의 값으로 구성된 c×3 행렬로 지정됩니다. map의 각 행은 컬러맵의 하나의 색에 대한 빨간색, 녹색, 파란색 성분을 지정하는, 요소를 3개 가진 RGB 3색입니다. 컬러맵은 최대 65,536개의 색을 갖습니다.

데이터형: double

역컬러맵의 각 색 축에 사용할 양자화 비트로, 양의 정수로 지정됩니다. QeQm보다 작은 경우, 디더링을 수행할 수 없으며 dither 함수는 디더링되지 않은 인덱스 이미지를 X에 반환합니다.

데이터형: double

컬러스페이스 오차 계산에 사용할 양자화 비트로, 양의 정수로 지정됩니다. QeQm보다 작은 경우, 디더링을 수행할 수 없으며 dither 함수는 디더링되지 않은 인덱스 이미지를 X에 반환합니다.

데이터형: double

회색조 이미지로, 음이 아닌 숫자로 구성된 m×n 행렬로 지정됩니다. double 데이터형의 이미지를 지정할 경우 값은 범위 [0, 1] 내에 있어야 합니다.

데이터형: single | double | int16 | uint8 | uint16

출력 인수

모두 축소

인덱스 이미지로, 음이 아닌 정수로 구성된 m×n 행렬로 반환됩니다. map의 길이가 256보다 작거나 같은 경우 출력 이미지는 uint8형 클래스입니다. 그렇지 않은 경우 출력 이미지는 uint16형 클래스입니다. 출력 배열 X에서 값 0은 컬러맵에서 첫 번째 색에 대응합니다.

참고

이미지 X의 값은 컬러맵 map에 대한 인덱스이고 필터링 작업과 같은 수학적 처리에서는 사용되어선 안 됩니다.

데이터형: uint8 | uint16

이진 이미지로, m×n 논리형 행렬로 반환됩니다.

데이터형: logical

알고리즘

dither는 플로이드-스타인버그(Floyd-Steinberg)의 오차 확산 디더링 알고리즘[1]을 적용하여 이미지의 명목 색 해상도를 높입니다.

참고 문헌

[1] Floyd, R. W., and L. Steinberg, "An Adaptive Algorithm for Spatial Gray Scale," International Symposium Digest of Technical Papers, Society for Information Displays, 1975, p. 36.

[2] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 469–476.

버전 내역

R2006a 이전에 개발됨

참고 항목

|

도움말 항목