在做图象处理作业的时候遇到了数据类型的问题,之前没有仔细考虑过,先甩上相关知识的链接Matlab图像数据类型unit8,double关系
提炼一下重点:
matlab中图像主要有两种格式:uint8(0-255)、double(0-1)
为了保证运算精度,matlab作运算的时候用double数据类型。如果不转换就会出现报错,比如计算像素点的e指数:
”未定义与 'uint8' 类型的输入参数相对应的函数 'exp'”
所以, 将读入的uint8转换为double类型的函数:im2double()
将double类型转为uint8的函数:im2uint8()
还有一个很重要的点!如果图像的类型为double,用Imshow的时候一定要加'[]': 否则图像显示会有问题
imshow(img, []);
本文介绍了Matlab中图像数据类型的两种主要格式:uint8和double,并解释了它们之间的转换方法。uint8范围为0-255,而double范围为0-1。为了确保运算精度,通常使用double类型进行计算。文章还提到了如何使用im2double()和im2uint8()函数进行数据类型转换,以及在使用imshow函数显示图像时需要注意的细节。
1701

被折叠的 条评论
为什么被折叠?



