Недавно я загрузил и установил PyLibTIFF с here и пытался прочитать черепичные изображения tiff.Чтение Плиточные изображения с PyLibtiff
Я отлично читаю изображения с разверткой, но не могу найти правильную функцию для чтения фрагментов. Я просматривал весь каталог libtif в папке python site-packages и не нашел никакой команды «read_tile».
Я в основном пытаюсь перекодировать из this example:
TIFF* tif = TIFFOpen("myfile.tif", "r");
if (tif) {
uint32 imageWidth, imageLength;
uint32 tileWidth, tileLength;
uint32 x, y;
tdata_t buf;
TIFFGetField(tif, TIFFTAG_IMAGEWIDTH, &imageWidth);
TIFFGetField(tif, TIFFTAG_IMAGELENGTH, &imageLength);
TIFFGetField(tif, TIFFTAG_TILEWIDTH, &tileWidth);
TIFFGetField(tif, TIFFTAG_TILELENGTH, &tileLength);
buf = _TIFFmalloc(TIFFTileSize(tif));
for (y = 0; y < imageLength; y += tileLength)
for (x = 0; x < imageWidth; x += tileWidth)
TIFFReadTile(tif, buf, x, y, 0);
_TIFFfree(buf);
TIFFClose(tif);
в питон.
До сих пор я получил:
tif = TIFF.open(tif_path, 'r')
image_width = tif.GetField("ImageWidth")
image_length = tif.GetField("ImageLength")
tile_width = tif.GetField("TileWidth")
tile_length = tif.GetField("TileLength")
y = 0
while y < image_length:
x = 0
while x < image_width:
print tif.read_tile(x, y, 0)
x += tile_width
y += tile_length
tif.close()
Я на самом деле просто нужно проверить, если размолвка поврежден или нет. tif.info() не помогает, потому что он просто читает заголовок файла, который отключен даже в коррумпированных tif.
Любая помощь, мысли или идеи были бы высоко оценены! Спасибо!
Спасибо за ваш ответ, но да, я видел первую строку с цитированием, выполняющую мои первоначальные поиски. Не могли бы вы привести пример того, что вы предложили? – Jared