我有一个数据类型为double的矩阵sig_matrix
,值如下:
3,0450 3,0450 3,0450
2,6200 2,6050 2,5900
2,5250 2,5200 2,5150
2,3800 2,3800 2,3650
2,6050 2,6650 2,7350
我需要保存为图像文件,但问题是:图像类型如jpg,png只接受整数数据(uint8,uint16),但我真的需要将数据保存为double。
我尝试使用以下代码保存为TIF文件:
t = Tiff('test.tif', 'w8');
setTag(t,'Photometric',Tiff.Photometric.RGB);
setTag(t,'ImageLength',length(sig_matrix));
setTag(t,'ImageWidth',length(sig_matrix));
setTag(t,'BitsPerSample',64);
setTag(t,'SamplesPerPixel',3);
setTag(t,'SampleFormat', 3);
setTag(t,'PlanarConfiguration',Tiff.PlanarConfiguration.Chunky);
setTag(t,'Compression',Tiff.Compression.None);
write(t,repmat(sig_matrix, [1 1 3]));
close(t);
它有效,但后来我尝试将此文件转换为yuv(例如使用ffmpeg
),但我收到错误(无效的TIFF标题更具体)。
所以,我需要将双矩阵保存为图像文件,然后转换为yuv。
有人可以帮我吗?
Obs。:我无法使用mat2gray
或类似的东西,因为我需要将特定的双数据转换为yuv