Image MATLAB中的乘法错误…想法?

Image MATLAB中的乘法错误…想法?,image,matlab,Image,Matlab,所以我尝试对灰度图像进行全比例对比度拉伸,我得到了一些非常奇怪的答案。我已经确定了问题所在,而不是解决方案 取一个测试点,I2,2=108 (I(2,2) - 57) 正如你所料,Ans=51。现在是奇怪的部分: (I(2,2) - 57)*255 Ans=255 如果显式执行51*255,则得到正确答案13005。我做错了什么?您使用的是uint8,因此uint8的最大剪辑为255。那么,我如何告诉程序不要在该行中使用uint8?将其转换为双精度,然后执行这些操作?@rayryeng:这并

所以我尝试对灰度图像进行全比例对比度拉伸,我得到了一些非常奇怪的答案。我已经确定了问题所在,而不是解决方案

取一个测试点,I2,2=108

(I(2,2) - 57)
正如你所料,Ans=51。现在是奇怪的部分:

(I(2,2) - 57)*255
Ans=255


如果显式执行51*255,则得到正确答案13005。我做错了什么?

您使用的是uint8,因此uint8的最大剪辑为255。那么,我如何告诉程序不要在该行中使用uint8?将其转换为双精度,然后执行这些操作?@rayryeng:这并没有脱离主题。回答它,或者将其作为另一个问题的副本关闭,该问题涉及使用MATLAB积分类型的饱和算法。或者干脆忽略它。但不要以不适用的理由关闭它。按照@Divakar的建议,通过I=doubleI;,将数组/图像转换为double;,然后进行计算。您正在经历MATLAB中所谓的剪裁。