sips
Mac OS X 및 BSD Unix에서 이미지를 처리하기 위한 명령줄 도구입니다. sips
스크립트 가능한 이미지 처리 시스템을 나타냅니다.
1비트 흑백 비압축 TIFF 이미지가 있습니다. 다음 sips
명령은 LZW 압축을 사용하여 압축합니다.
sips -s format tiff -s formatOptions lzw sample.tif --out lzw.tif
그러나 결과 TIFF 이미지는 특정 뷰어에 표시될 때 흑백으로 반전되어 나타납니다. 이 반전은 아래 설명된 "광도계 해석"과 관련이 있습니다.
흑백 이미지의 각 픽셀은 비트로 표시됩니다. 1비트 TIFF 이미지에는 색상 팔레트가 없으며 흑백만 가능합니다. "on" 및 "off" 비트는 TIFF 이미지의 측광 태그(ID262)에 따라 검은색이나 흰색을 나타낼 수 있습니다. 흑백 TIFF 이미지의 일반적인 측광 방향은 0 = 흰색, 1 = 검정색이며 측광 레이블 값 0에 해당합니다. 반대로 0 = 검정색, 1 = 흰색은 측광 레이블 값 1에 해당합니다. 이미지 뷰어는 측광 레이블을 완전히 무시하고 항상 0 = 흰색으로 가정합니다. 특히 Windows XP 이미지 뷰어는 더욱 그렇습니다. (출처: atalasoft /KB/article.aspx?id=10069)
sips
시청자는 흰색을 0으로 설정하는 것을 선호하고 TIFF 이미지를 생성할 때 흰색을 1로 설정하기 때문에 흑백이 반전됩니다 .
입력 파일 Sample.tif의 흰색은 0입니다.
출력 파일 lzw.tif의 흰색은 1입니다.
흰색이 0인지 1인지(또는 0이 흰색인지 검정색인지), 즉 "광도계 해석"이 0인지 1인지 확인하려면 최소한 다음 두 가지 방법을 사용할 수 있습니다.
사용 exiftool
, 에서 얻을 수 있습니다.
http://owl.phy.queensu.ca/~phil/exiftool/
exiftool -S lzw.tif -PhotometricInterpretation
또는 Preview.app
Mac OS X에서 사용하세요.
Tools > Show Inspector (Command-I) > TIFF
sips
내 질문: 1비트 흑백 TIFF 이미지를 생성할 때 흰색을 0으로 강제하려면 어떻게 해야 합니까?
앞서 말했듯이 저는 1비트 흑백 비압축 TIFF 이미지를 가지고 있습니다. 사실 나에겐 이런 것들이 수천 개 있다. 따라서 김프나 Photoshop에서 수동으로 처리하는 대신 프로세스를 자동화하는 명령줄 도구가 필요합니다.
내가 원하는 대로 작동하지 않으면 Mac OS에서 실행되는sips
명령줄 도구에 대해 묻는 새 질문을 게시할 수 있습니다. 여기서 흰색은 0입니다.
(내 기본 쉘은 bash입니다.)
그 동안에는 그것이 효과가 있는지 기다려 보겠습니다 sips
.
샘플 이미지로 광도 해석이 0(WhiteIsZero)인 흰색 배경에 검정색 글자로 구성된 1비트 흑백 비압축 TIFF 이미지를 업로드해 보았습니다. 그러나 Stackexchange의 이미지 업로드 메커니즘은 자동으로 TIFF를 PNG로 변환합니다.
sips
이 문서 상단에 있는 명령은 압축되지 않은 TIFF를 가져와 LZW 압축 TIFF를 출력합니다. 다음 sips
명령은 PNG를 가져와 LZW 압축 TIFF를 출력합니다.
sips -s format tiff -s formatOptions lzw Cqdg2.png --out Cqdg2.tif
이 생성된 TIFF 이미지 Cqdg2.tif는 이전에 생성된 TIFF 이미지 lzw.tif와 동일한 반전 및 측광 해석 문제를 겪고 있습니다.
답변1
아마도 대부분의 사람들은 내가 아는 한 Mac OS X에서 사용할 수 있는 ImageMagick을 사용하도록 권장할 것입니다. Linux에서는 다음과 같이 사용하여 귀하의 질문과 유사한 tiff 이미지를 생성하고 이를 조작하여 압축된 버전을 제공합니다: 측광 옵션. 초기 이미지 만들기:
$ convert -size 200x200 -depth 1 -gravity center -negate \
label:UNIX a.tif
$ file a.tif
a.tif: TIFF image data, little-endian, ... bps=1, \
compression=none, PhotometricIntepretation=BlackIsZero, ...
필요에 따라 색상이나 광도를 압축하고 변경합니다 -negate
.-define quantum:...
$ convert a.tif -define quantum:polarity=min-is-black -compress lzw b.tif
$ file b.tif
b.tif: ... compression=LZW, PhotometricIntepretation=BlackIsZero, ...
$ convert a.tif -define quantum:polarity=min-is-white -compress lzw b.tif
$ file b.tif
b.tif: ... compression=LZW, PhotometricIntepretation=WhiteIsZero, ...