viewimage.php?id=3dafdf21f7d335ab67b1d1&no=29bcc427b38577a16fb3dab004c86b6fb8c469a51a456a5485032fed780bd3a4c8d4def1a6ca168f3fec6cb9b278788294eb7ee1286583effbd66a7b


플로이드-스타인버그 디더링(Floyd-Steinberg Dithering)은 픽셀의 양자화 오류를 주위로 분산시키는 디더링 기법이다.

디더링은 인접한 색을 붙여서 혼합하여 모자란 색상을 보충하기 위한 병치 혼합 기법이야?


이 알고리즘을 의사 코드로 구현하면 다음과 같다고 한다.


for each y for each x oldpixel := pixel[x][y] newpixel := find_closest_palette_color(oldpixel) pixel[x][y] := newpixel quant_error := oldpixel - newpixel pixel[x+1][y] := pixel[x+1][y] + 7/16 * quant_error pixel[x-1][y+1] := pixel[x-1][y+1] + 3/16 * quant_error pixel[x][y+1] := pixel[x][y+1] + 5/16 * quant_error pixel[x+1][y+1] := pixel[x+1][y+1] + 1/16 * quant_error