matlab 图像Mat类型矩阵中的值,uint8类型转换,防止溢出

a=[50,60,70;

80,90,50;

100,55,40]

假设a是一个灰度图的mat形式(当然实际的size肯定比这大,我只是举例子),如果需要对这个矩阵的像素进行加减处理,很可能会产生溢出,如用matlab试验a(1,1)-60,答案为0.那么怎么才能防止这种情况呢?

一种情况是,转换成double,但是转换成double将会将数值聚集到[0,1]之间,感觉换来换去比较麻烦

我比较倾向于,直接使用int16(a(1,1)),这样就是16位的整型,可以正常的进行运算。