사진을 Atkinson 디더링으로 변환

6 days ago 3

  • 이 프로젝트는 고전적인 Macintosh 1-bit 필터인 Atkinson Dithering을 웹에서 구현함
  • 입력 이미지를 50% 회색과 비교하여 흑백으로 변환하고, 차이를 이웃 픽셀로 분배함
  • Canvas, Drag & Drop, WebWorkers, FileReader와 같은 최신 브라우저 기술을 활용함
  • 변환된 이미지는 오른쪽 클릭 저장이 가능함
  • 이미지의 드래그 저장은 브라우저의 제한으로 지원되지 않음

오픈소스 프로젝트의 중요성 및 차별점

  • Atkinson Dithering은 Hyperdither와 HyperScan에서 사용된 클래식 Macintosh 그래픽 효과
  • 복잡한 이미지 색상 정보를 픽셀 단위로 단순하게 변환하여, 경량 흑백 이미지 생성에 유용함
  • 웹 기반 구현으로 별도의 소프트웨어 없이 최신 브라우저만 있으면 사용 가능함
  • WebWorkers를 통해 대용량 이미지 처리 시 비동기 실행 및 성능 최적화가 가능함
  • 오픈소스 코드로 기능 확장 및 커스터마이징이 용이함

Atkinson Dithering 알고리듬 개요

  • 각 픽셀을 50% 그레이(회색) 값과 비교하여 흑백으로 변환함
  • 변환으로 인한 차이값을 다음과 같이 주변 6개 픽셀에 분배
    (X: 현재 픽셀, 1/8씩 분배)
    • X 1/8 1/8
    • 1/8 1/8 1/8
    • 1/8
  • 이 방식으로 이미지 전체에 디더링 효과를 적용함

구현 및 사용 방식

  • 이미지 파일을 브라우저로 드래그 앤 드롭하거나 파일 선택 기능을 통해 입력함
  • Canvas API를 이용하여 실시간으로 이미지를 변환 및 렌더링함
  • FileReader를 사용해 이미지 데이터를 읽고,
  • WebWorkers를 이용해 디더링 처리를 백그라운드에서 실행함
  • 변환된 이미지는 오른쪽 클릭을 통해 저장 가능함
    (브라우저의 한계로, 이미지를 바탕화면에 바로 드래그하여 저장할 수 없음)

기술 스택 및 지원 환경

  • HTML5, JavaScript의 최신 API를 적극적으로 활용함
  • 최신 브라우저 환경이 필요하며, 구형 브라우저에서는 일부 기능이 제한될 수 있음

결론

  • Atkinson Dithering 필터의 간편하고 직관적인 웹 구현 제공
  • 그래픽 개발자, 아트웍, 이미지 경량화 등 다양한 분야에서 활용 가능성 높음

Read Entire Article