关于这个问题,我觉得非常好。因为在上个学期学习《图像处理》这门课时,我也觉得这是个非常恼人的问题,我的回答希望对你有帮助:
关于你的问题不知道理解的对不对,简单而言,就是对于取值为0~65536的矩阵,当作为图像处理是如何存取。首先看第二个问题:
2,imwrite 可以存为uint16,也可以存为uint8,这取决于你的矩阵元素是哪种类型的值。并且当存储时,并不是任何格式的图像都可以使uint16,即取值为0~6536.例如,bmp就不行;jpg,png,tiff好像可以。下面是一个简单例子:
————————————————————
a = rand(32,32)*65536;
b = uint16(round(a));
imshow(b)
imwrite(b,'yy1.png');
————————————————————
这时第三个问题就好解决了。
3,如果图像真是16位的,则可以直接imread,例如:
————————————————————
c = imread('yy1.png');
c
————————————————————
关于第一个问题我觉得有点模糊,我想应该是uint16和uint8格式的问题,只要格式变换正确,应该没问题。
温馨提示:答案为网友推荐,仅供参考