exponenta event banner

writeEncodedTile

Запись данных в указанную плитку

Описание

пример

writeEncodedTile(t,tileNumber,imageData) записывает данные в imageData к плитке, указанной tileNumber в файл TIFF, связанный с Tiff объект t.

пример

writeEncodedTile(t,tileNumber,Y,Cb,Cr) записывает данные компонента YCbCr в плитку, указанную tileNumber в файл TIFF, связанный с Tiff объект t. Чтобы использовать этот синтаксис, необходимо установить YCbCrSubSampling тег.

Примеры

свернуть все

Считывайте две плитки из файла TIFF и записывайте их в новый файл TIFF в разных позициях.

Откройте файл TIFF с данными изображения в мозаичном макете, получите данные изображения и количество плиток в изображении.

tr = Tiff('peppers_RGB_tiled.tif','r');
imageR = read(tr);
nTiles = numberOfTiles(tr)
nTiles = 36

Прочитайте 8-ю и 29-ю плитки изображения.

tile8 = readEncodedTile(tr,8);
tile29 = readEncodedTile(tr,29);

Создать Tiff объект для нового файла и копирование изображения и информации тегов из первого файла.

tw = Tiff('write_tile.tif','w');
tagstruct.ImageLength = getTag(tr,'ImageLength');
tagstruct.ImageWidth =  getTag(tr,'ImageWidth');
tagstruct.Photometric = getTag(tr,'Photometric');
tagstruct.TileLength = getTag(tr,'TileLength');
tagstruct.TileWidth = getTag(tr,'TileWidth');
tagstruct.BitsPerSample = getTag(tr,'BitsPerSample');
tagstruct.SamplesPerPixel = getTag(tr,'SamplesPerPixel');
tagstruct.PlanarConfiguration = getTag(tr,'PlanarConfiguration');  
setTag(tw,tagstruct); 
write(tw,imageR)

Написать tile29 в позиции для плитки № 8 и tile8 в позиции для плитки № 29.

writeEncodedTile(tw,8,tile29);
writeEncodedTile(tw,29,tile8);

Прочтите и отобразите новое изображение рядом с исходным изображением.

imageW = read(tw);
subplot(121);
imshow(imageR); 
title('Original Image')
subplot(122);
imshow(imageW); 
title('Tiles Shuffled Image')

Закрыть окно Tiff объекты.

close(tr);
close(tw);

Прочитайте две плитки из файла YCbCr TIFF и запишите их в новый файл TIFF в разных позициях.

Откройте файл TIFF с данными изображения в мозаичном макете, получите данные изображения и количество плиток в изображении.

tr = Tiff('peppers_YCbCr_tiled.tif','r');
[Yr,Cbr,Crr] = read(tr);
nTiles = numberOfTiles(tr)
nTiles = 36

Прочитайте 8-ю и 29-ю плитки изображения.

[Y8,Cb8,Cr8] = readEncodedTile(tr,8);
[Y29,Cb29,Cr29] = readEncodedTile(tr,29);

Создать Tiff объект для нового файла и копирование изображения и информации тегов из первого файла.

tw = Tiff('write_tile.tif','w');
tagstruct.ImageLength = getTag(tr,'ImageLength');
tagstruct.ImageWidth =  getTag(tr,'ImageWidth');
tagstruct.SampleFormat = getTag(tr,'SampleFormat');
tagstruct.Photometric = getTag(tr,'Photometric');
tagstruct.TileLength = getTag(tr,'TileLength');
tagstruct.TileWidth = getTag(tr,'TileWidth');
tagstruct.BitsPerSample = getTag(tr,'BitsPerSample');
tagstruct.SamplesPerPixel = getTag(tr,'SamplesPerPixel');
tagstruct.YCbCrSubSampling = getTag(tr,'YCbCrSubSampling');
tagstruct.Compression = getTag(tr,'Compression');
tagstruct.PlanarConfiguration = getTag(tr,'PlanarConfiguration');  
setTag(tw,tagstruct); 
write(tw,Yr,Cbr,Crr)

Запись номера плитки 29 в позиции для плитки номер 8 и плитки номер 8 в позиции для плитки № 29.

writeEncodedTile(tw,8,Y29,Cb29,Cr29);
writeEncodedTile(tw,29,Y8,Cb8,Cr8);

Прочтите и отобразите компонент Y нового изображения рядом с исходным изображением.

[Yw,Crw,Cbw] = read(tw);
subplot(121);
imshow(Yr); 
title('Original Image (Y)')
subplot(122);
imshow(Yw); 
title('Tiles Shuffled Image (Y)')

Закрыть окно Tiff объекты.

close(tr);
close(tw);

Входные аргументы

свернуть все

Tiff объект, представляющий файл TIFF. Используйте Tiff для создания объекта.

Номер плитки, заданный как положительное целое число. Номера плиток - это номера на основе одного элемента.

Пример: 15

Типы данных: double

Данные изображения, указанные как числовой массив.

  • Если imageData имеет меньшее количество байт, чем размер плитки, то writeEncodedTile бесшумно прокладывает плитку.

  • Если imageData имеет больше байтов, чем размер плитки, то writeEncodedTile выдает предупреждение и усекает данные.

Чтобы увидеть размер плитки изображения, получите значения TileLength и TileWidth теги.

Типы данных: double

Компонент luma плитки изображения, заданный как двумерный числовой массив.

Типы данных: double

Синяя разностная составляющая цветности плитки изображения, заданная как двумерный числовой массив.

Типы данных: double

Компонент цветности красного цвета плитки изображения, заданный как двумерный числовой массив.

Типы данных: double

Алгоритмы

свернуть все

Ссылки

Эта функция соответствует TIFFWriteEncodedTile в API LibTIFF C. Для использования этой функции необходимо ознакомиться со спецификацией TIFF и техническими примечаниями. Просмотреть эту документацию по адресу LibTIFF - TIFF Library and Utilities.

Представлен в R2009b