Image 写一个uint16图像
如何将数据类型为uint16的图像写入MATLAB中的文件?我尝试使用以下命令写入该文件,但它给了我一个错误Image 写一个uint16图像,image,matlab,jpeg,Image,Matlab,Jpeg,如何将数据类型为uint16的图像写入MATLAB中的文件?我尝试使用以下命令写入该文件,但它给了我一个错误 imwrite(pimg, 'h44', 'jpg') 使用writejpg>set\u jpeg\u道具时出错(第183行) UINT16图像数据要求位深度专门设置为 12岁或16岁。 写入JPG时出错(第49行) props=set_jpeg_props(数据,varargin{:}) imwrite中出错(第472行) feval(fmt_.write、数据、映射、文件名、, 参
imwrite(pimg, 'h44', 'jpg')
使用writejpg>set\u jpeg\u道具时出错(第183行)UINT16图像数据要求位深度专门设置为 12岁或16岁。
写入JPG时出错(第49行)
props=set_jpeg_props(数据,varargin{:})
imwrite中出错(第472行)
feval(fmt_.write、数据、映射、文件名、, 参数对{:})
Image16位错误(第666行)
imwrite(imgnew1,'h44','jpg')
保存超过8位的JPEG图像时,必须指定
BitDepth
选项:
% note that 16-bit only accepts grayscale images
img = imread('peppers.png');
imwrite(im2uint16(img), '12bit.jpg', 'BitDepth',12);
imwrite(rgb2gray(im2uint16(img)), '16bit.jpg', 'BitDepth',16);
不幸的是,没有多少程序支持12位/16位JPEG图像,因此您可能无法从外部打开它。您可以改用JPEG2000格式:
imwrite(im2uint16(img), 'out.jp2');
必须在
imwrite
中设置BitDepth
选项。