writeEncodedStrip

Запишите данные к заданной полосе

Описание

пример

writeEncodedStrip(t,stripNumber,imageData) записи imageData к полосе, заданной stripNumber к файлу TIFF, сопоставленному с Tiff объект t.

пример

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

Примеры

свернуть все

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

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

tr = Tiff('peppers_RGB_stripped.tif','r');
imageR = read(tr);
nStrips = numberOfStrips(tr)
nStrips = 6

Считайте 2без обозначения даты и 5полосы th изображения.

stripTwo = readEncodedStrip(tr,2);
stripFive = readEncodedStrip(tr,5);

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

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

Запишите stripFive в положении для номера полосы 2 и stripTwo в положении для номера полосы 5.

writeEncodedStrip(tw,2,stripFive);
writeEncodedStrip(tw,5,stripTwo);

Считайте и отобразите новое изображение рядом с оригинальным изображением.

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

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

close(tr);
close(tw);

Считайте две полосы из файла TIFF YCbCr и запишите им в новый файл TIFF в различных положениях.

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

tr = Tiff('peppers_YCbCr_stripped.tif','r');
[Yr,Cbr,Crr] = read(tr);
nStrips = numberOfStrips(tr)
nStrips = 6

Считайте 2без обозначения даты и 5полосы th изображения.

[Y2,Cb2,Cr2] = readEncodedStrip(tr,2);
[Y5,Cb5,Cr5] = readEncodedStrip(tr,5);

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

tw = Tiff('write_strip.tif','w');
tagstruct.ImageLength = getTag(tr,'ImageLength');
tagstruct.ImageWidth =  getTag(tr,'ImageWidth');
tagstruct.SampleFormat = getTag(tr,'SampleFormat');
tagstruct.Photometric = getTag(tr,'Photometric');
tagstruct.RowsPerStrip = getTag(tr,'RowsPerStrip');
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)

Напишите полосу номер 5 в положении для номера полосы 2 и разделите номер 2 в положении для номера полосы 5.

writeEncodedStrip(tw,2,Y5,Cb5,Cr5);
writeEncodedStrip(tw,5,Y2,Cb2,Cr2);

Считайте и отобразите компонент Y нового изображения рядом с оригинальным изображением.

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

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

close(tr);
close(tw);

Входные параметры

свернуть все

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

Разделите номер, заданный как положительное целое число. Числа полосы являются числами на основе одним.

Пример: 15

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

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

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

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

Чтобы определить размер полосы, просмотрите значение RowsPerStrip тег.

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

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

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

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

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

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

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

Алгоритмы

свернуть все

Ссылки

Эта функция соответствует TIFFWriteEncodedStrip функция в LibTIFF C API. Чтобы использовать эту функцию, необходимо быть знакомы со спецификацией TIFF и техническими примечаниями. Смотрите эту документацию в наборе библиотек и утилит LibTIFF — TIFF.

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