처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.07.26 33

이미지를 '인쇄물처럼' 만드는 디더링, 그 화려한 착시의 대가

Hacker News 원문 보기

개인 웹사이트를 운영하는 한 개발자가 자신의 블로그 이미지에 적용한 디더링 처리 방식을 공개했다. 다른 사이트들이 사진을 멋지게 디더링하는 것을 보고 궁금해했던 그가, 자신의 '핑크색 이미지' 제작 과정을 직접 정리한 글이다. 정식 그래픽 엔지니어의 설명은 아니지만, 화면용 이미지와 인쇄물의 근본적 차이를 이해하고 커맨드라인 도구만으로 재현하려 한 시도라는 점에서 실무자에게 참고할 만한 사례다.

화면과 인쇄물은 색을 다르게 만든다

디더링은 제한된 색 수로 더 많은 색조가 있는 것 같은 착시를 만드는 기법이다. 색을 줄이면서도 디테일을 유지하기 때문에 파일 크기와 전송 용량을 줄일 수 있고, Low Tech Magazine 같은 사이트가 이를 활용하는 이유이기도 하다. 다만 이 글의 저자가 추구한 목표는 용량 절감이 아니라 '인쇄물 느낌'의 재현이었다. 흑백 인쇄 같은 분위기를 내되 강조가 필요한 곳에만 색을 쓰는 디자인 방향에서 출발했고, 초기에는 검정과 특정 핑크 두 가지만 쓰는 순수 모노크롬 팔레트로 큰 점들을 찍었다.

핵심은 화면과 종이의 원리 차이다. 모니터의 픽셀은 R·G·B 각각의 밝기를 자유롭게 조절해 색을 낸다. 반면 종이는 제한된 잉크 색으로 점들의 격자를 이용해 더 많은 색의 착시를 만들어야 한다. 저자는 이 방식을 크게 세 가지로 정리한다. 점의 크기를 바꾸는 진폭변조(AM), 점의 개수를 바꾸는 주파수변조(FM), 그리고 둘을 섞은 하이브리드다. AM에서 어두운 부분은 큰 점으로, FM에서는 많은 점으로 표현된다. FM은 점 배치가 무작위여서 예측하기 어렵게 흩어지고, AM은 규칙적인 패턴을 이룬다.

무아레와 각도 규칙

AM 방식을 안이하게 적용하면 원치 않는 간섭무늬, 이른바 무아레가 생긴다. 이 때문에 인쇄 업계에는 색마다 점 격자를 어떤 각도로 어긋나게 배치할지 정한 규칙(DIN 16547)이 존재한다. 저자 역시 이 원리를 따라 CMYK 각 채널을 서로 다른 각도로 회전시킨다. 예를 들어 C는 0도, M은 15도 식으로 어긋나게 두는 것이다. FM은 애초에 무작위 배치라 이런 문제에서 자유롭다.

실제 작업은 서버에 커맨드라인으로 접속해 이미지를 다루기 때문에 ImageMagick의 convert 명령으로 이뤄진다. 대략의 처리 흐름은 이렇다. 이미지를 폭 800px로 줄이고, 색공간을 CMYK로 바꾸고, 회전으로 생기는 빈 공간을 채울 배경과 노이즈를 줄일 가우시안 블러를 적용한다. 이어 색 채널을 분리해 각각 조금 키우고(점을 크게), 회전 등으로 왜곡을 준 뒤, 네 장의 채널 이미지를 다시 하나로 합친다. 점 크기를 8x8처럼 과장하면 이 과정이 눈에 확연히 드러난다.

진짜 인쇄 느낌을 위한 한 줄

저자가 뒤늦게 깨달은 개선점이 흥미롭다. 앞선 방식에서는 점 크기가 일정해 어떤 칸은 그냥 더 어둡게만 보였다. 디지털 이미지는 픽셀마다 밝기를 다르게 낼 수 있으니 당연한 결과지만, 진짜 인쇄물 흉내를 내려면 이래선 안 된다. 해결책은 채널을 다시 합치기 전에 각 채널의 색을 딱 2가지로 제한하는 것이다. 그러면 점의 크기가 실제로 달라지는 것처럼 보인다. 저자는 자신이 명령어를 참고한 원 출처가 왜 이 처리를 하지 않았는지 의아해한다. 구버전에서는 여기에 더해 색공간을 다시 Gray로 바꾸고 검정과 핑크 두 색으로 레벨을 조정하는 단계를 거쳤다.

다만 이 모노크롬 방식은 인쇄 느낌은 가장 잘 살아나지만 디테일을 크게 잃는다는 한계가 있어 저자는 결국 이를 버렸다. 블로그에는 더 많은 깊이가 필요했고, 그는 remap 플래그로 여러 단계의 핑크를 확보하는 쪽으로 옮겨갔다. 다만 밝기가 지나치게 높은 이미지에서는 문제가 생기는데, 저자는 자신의 색 팔레트가 그리 좋지 않은 탓일 수 있다고 솔직하게 덧붙인다.

결과는 디더링, 방법은 아니다

실무자가 새겨야 할 대목은 마지막의 자기비판이다. 결과만 보면 두 색으로 중간 색조의 착시를 만들었으니 디더링이라 부를 수 있다. 그러나 방법으로 보면 이것은 디더링이 아니거나, 있더라도 가장 불필요하게 연산이 무거운 형태에 가깝다. 저자의 11년 된 노트북 CPU에서 큰 이미지는 처리에 10초가 걸리고, 파일 크기도 딱히 작지 않으며, 이런 패턴은 압축 알고리즘에도 불리하다. 시간이 아깝거나 실제로 용량을 줄이는 게 목적이라면 이 방법은 권하지 않는다는 것이 저자 본인의 결론이다.

비교를 위해 저자는 같은 이미지에 실제 디더링 알고리즘인 플로이드-스타인버그를 적용한 결과도 제시하는데, 이쪽 파일은 핑크 방식보다 작다. 정리하면 이 작업의 가치는 용량 최적화가 아니라 어디까지나 인쇄물 특유의 질감이라는 미적 효과에 있다. 화면용 색과 인쇄용 색이 서로 다른 원리로 만들어진다는 점, 그리고 그 차이를 커맨드라인 도구로 흉내 낼 때 각도·채널 제한 같은 세부가 결과를 좌우한다는 점은, 이미지 파이프라인을 다루는 개발자라면 목적과 비용을 분명히 구분해 판단해야 함을 잘 보여준다.

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.