我正在尝试从一个名为matlab.I的图像软件中实现颜色组合功能,我有三个uint16位文件(R、G和B),.I需要将它们转换为12位,然后将它们组合成一个RGB image.metamorph,将16位文件转换为12位,然后从3位12位files.my代码中创建RGB图像。我不太确定如何将16位图像文件转换为12位。
C1 = imread('metamorph/R.tif',3);
C2 = imread('metamorph/G.tif',3);
C3 = imread('metamorph/B.tif',3);
R=mat2gray(C1);
G=mat2gray(C2);
B=mat2gray(C3);
rgb1=cat(3,R,G,B);
imshow(rgb1)任何帮助都是非常感谢的。
谢谢
发布于 2011-10-05 21:49:44
我不认为MATLAB有12位的数据类型(每像素的颜色是一个半字节)。当然,您可以缩放双倍数据以适应12位整数:
rgb12= round(rgb1/max(rgb1(:))*(2^12-1)); %# scale & round image values to 12 bit..。但真正的问题是,这样做有什么好处:
imwrite显然可以做12位的JPEG,但是我不确定这是否是每种颜色的12位。https://stackoverflow.com/questions/7666262
复制相似问题