为什么我的矩阵没有输出正确的精度?

时间:2016-04-24 03:33:36

标签: matlab matrix octave precision imread

我需要使用函数imread()生成一个非常大的矩阵。这将图像(我的是jpg文件; 691x763)转换为矩阵。

我需要将矩阵中的每个元素除以255,并显示每个元素至少有3个小数位。

我尝试过的事情:

output_precision(4)但它对矩阵内的元素没有用处。

format long e但矩阵内的值仍未受影响。

2 个答案:

答案 0 :(得分:2)

你应该使用im2double http://octave.sourceforge.net/image/function/im2double.html为你做缩放,而不管输入格式是uint,uint16,int16等等。

答案 1 :(得分:1)

我猜imread()给了你uint8的矩阵。试试这个:

I = imread('image.jpg'); %// your image
A = double(I)/255; %//convert matrix to double before dividing it by 255