[OpenSource] Scanner-Refl-Fix - 스캐너 파일의 메타메릭 제거하기

표지와 책갈피를 제거하여 낱장으로 분리해 스캔하는 파괴형 방식이 있다.
스캐너는 위에서 아래로 스캔되어 디지털 이미지 포맷(png, jpeg, tiff)의 파일로 저장하게 된다.

저장된 스캐너 파일 문제점 중 메타메릭에 대해 알아본다.

사전 지식이 필요해요!

  • 스캐너 동작 원리
  • 메타메릭에 대한 간단한 이해
  • 스캐너 ICC 프로파일의 이해
  • 오픈소스 사용 경험
  • 분광광도계(Spectro Photometer) 이해

메타메릭이란?

스캐너 원리는 조명을 문서에 빛을 비추고 반사된 빛이 광학 리니어 렌즈에 전달된다. 올바르게 빛을 비추었다면 메타메릭에 문제가 없지만,
문서가 아닌 윗부분과 아랫부분 빈 공간으로 빛을 비춘 상태로 스캔하면 조도와 색조가 변하여 광학 리니어 렌즈가 받는 색상 데이터가 달라진다.

원인으로는 글레어로 조명을 받은 반사광이 문서의 주변 색조 영향을 받아 색상이 달라진다. 이렇게 달라진 색상이 있는 경우, 좋은 RGB 프로파일 제작이 어렵다.
어느 영역에 스캔을 하였냐에 따라서도 RGB 프로파일 정확도가 서로 다르다.

이러한 문제점이 있어서 보강된 소프트웨어를 찾고 있었는데.
Doug Gray 가 제작한 스캐너 반사 처리에 유용한 오픈소스가 있었다.

GitHub - doug3236/scanner_refl_fix: scanner relfection fixup and ICC profile utility
scanner relfection fixup and ICC profile utility. Contribute to doug3236/scanner_refl_fix development by creating an account on GitHub.

scanner_refl_fix 빌드하기

라이센스 문제인지 exe 파일이 없다.
소스를 다운 받아 빌드 및 컴파일 해주어야 한다.

사전 라이브러리 설치 필요

  • tiffio 라이브러리 필요

빌드 순서

  • Visual Studio Community 설치
  • scanner_refl_fix.sin 파일 실행
  • Ctrl+Shift+B 버튼 클릭하여 빌드 또는 디버깅(F5) 클릭
  • {Project Folder}\x64\Debug\scanner_refl_fix.exe 파일 생성 확인

scanner_refl_fix 사용하기

소스 내부에 scan_calibration.tif 파일이 있다. 이 파일을 먼저 프린터로 인쇄하여야 한다.
인쇄 옵션은 색상관리(No ICC Profile) 없이 선택되지 않도록 인쇄하는 것을 권장한다.

인쇄한 인쇄물은 스캐너로 스캔(옵션: 200DPI, No ICC Profile)한다.
완료가 되었다면 scan_calibration.tif 파일로 저장한다.

이어서 scanner_refl_fix.exe -c scan_calibration.tif 명령어로 입력한 경우 scanner_cal.txt 파일이 생성된다.

이 파일이 있어야 다음 명령어에서 반사광이 제거된 수정물을 만들 수 있다.
반사광이 제거된 스캔파일 생성 scanner_refl_fix.exe {Scanned_file} 이렇게 생성된 반사광 제거 파일은 끝부분에 "_f" 붙어서 생성된다.

주변 배경이 어두운 경우 -W 옵션을 추가로 붙어서 하얗게 만들 수 있다.
(scanner_refl_fix.exe -W {Scanned_file})

사용 요약

  • 프린터로 scan_calibration.tif 파일 인쇄
  • 인쇄된 인쇄물 scan_calibration.tif 이름으로 스캔
  • 캘리브레이션 txt 파일 생성 명령 실행
    • 실행 명령어: scanner_refl_fix.exe -c scan_calibration.tif
  • 다른 스캔한 파일을 반사광 제거하기
    • 실행 명령어: scanner_refl_fix.exe {스캔 파일명}
  • 반사광이 제거되었는지 스캔 파일 열어보기