Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image 写一个uint16图像_Image_Matlab_Jpeg - Fatal编程技术网

Image 写一个uint16图像

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、数据、映射、文件名、, 参

如何将数据类型为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、数据、映射、文件名、, 参数对{:})
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
选项。