Это вызвано тем, что одна или несколько страниц в многостраничном tiff не имеют набора тегов photometric interpretation. Это обязательный тег, поэтому означает, что ваши tiffs технически недействительны (хотя я уверен, что они все равно работают).
Чтобы исправить это, вы должны идентифицировать страницу (или страницы), на которой не установлена фотометрическая интерпретация, и исправить ее.
Чтобы определить страницу, вы можете просто запустить что-то вроде:
↪ tiffinfo your-file.tiff
Это выплюнуть информацию для каждый страницы вашего кальцита. Для каждой хорошей страницы, вы увидите что-то вроде:
TIFF Directory at offset 0x105c0 (67008)
Subfile Type: (0 = 0x0)
Image Width: 1760 Image Length: 2639
Resolution: 300, 300 pixels/inch
Bits/Sample: 1
Compression Scheme: CCITT Group 4
**Photometric Interpretation: min-is-white**
FillOrder: msb-to-lsb
Orientation: row 0 top, col 0 lhs
Samples/Pixel: 1
Rows/Strip: 2639
Planar Configuration: single image plane
Software: ScanFix(TM) Enhanced ImageGear Version: 11.00.024
DateTime: Mon Oct 31 15:11:07 2005
Artist: 1996-2001 AccuSoft Co., All rights reserved
Если у вас плохая страница, это будет недостатком в разделе photometric interpretation
, и вы можете это исправить с:
↪ tiffset -d $page-number -s 262 0 your-file.tiff
Обратите внимание, что значение нуля является значением по умолчанию для клавиши фотометрической интерпретации, то есть 262. Вы можете увидеть другие значения для этого ключа по ссылке выше.
Если у вашего tiff много страниц (как и у моих), вы не сможете легко идентифицировать плохую страницу на глаз. В этом случае вы можете использовать подход грубой силы, устанавливая фотометрическую интерпретацию для всех страниц по умолчанию.
# First, split the tiff into many one-page files
↪ tiffsplit your-file.tiff
# Then, set the photometric interpretation to the default for all pages
↪ find . -name '*.tiff' -exec tiffset -s 262 0 '{}' \;
# Then rejoin the pages
↪ tiffcp *.tiff -o out-file.tiff
Много фиктивных работ, но выполняет свою работу.