trunc使用matlab
请真正的整数从trunc的整数,没有任何轮到MATLAB中的最接近的整数,例如:如果我有255/64 = 3.98我只需要3我在我的程序中使用了修复程序,但没有工作。我的鳕鱼是:trunc使用matlab
S=imread('image0286.jpg')/64;
disp(fix(S);
这给我发输出后的S到最接近的整数元素不能切断的整数。
fix
确实做你想做的。
>>fix(255/64)
ans =
3
也许你的代码的一些其他部分没有做你认为它正在做的事情。你可以发布更多的代码和你的预期和真实的输出
编辑: Imread返回值为uint8,并且这个类的划分似乎进行你不想要的舍入。尝试重新分割之前
S = double(imread('image0286.jpg'))/64
floor(x)
这样做,但要小心负数。
但fix
也应该工作。
另请注意,imread
可能会返回一个byte
数组或int
数组而不是浮点数。所以你的分区可能是int分区,并且不需要fix
或floor
自动截断。
我尝试在我的程序中的地板也轮到最近的整数,我需要得到plrase例如: 3.1 = 3; 3.2 = 3; 3.5 = 3; 3.7 = 3; 3.9 = 3 – zenab 2010-08-22 11:19:23
如果是这样,你做错了什么。请向我们展示'S(1,:)'的输出。也许这已经圆满了。 – 2010-08-23 21:53:21
我需要将颜色空间从256减少到4,我在读取图像后将图像分割为64,当我尝试计算颜色直方图时,我发现颜色becom 5而不是4,因为它四舍五入为最接近的整数。 – zenab 2010-08-22 11:00:01
好的,我认为我发现了你的问题,请参阅编辑 – second 2010-08-22 11:32:51
+1。 – Jonas 2010-08-22 11:53:07