原文:http://www.ilovematlab.cn/thread-216157-1-1.html
matlab里面很多函数都非常好用,但是当我们需要转化成C的时候就必须理解它的原理,mat2gray这个函数的原理经过单步调式发现其中有个函数imlincombc并没有提供源代码,这里我通过测试几组有意义的数据,基本弄明白了它的原理,具体算法步骤如下:
1、mat2gray是将输入数据F归一化为0-1之间的double型数据
2、令数据F中的max(F)为1,min(F)为0;
3、计算最大值和最小值的差值的倒数即:det=1/(max(F)-min(F));
4、对于数据F中介于最大值和最小值之间的数据是这样处理的:假设temp1为介于最大值和最小值中的某一值,经过mat2gray
变换后变为:temp_last=(temp1-min(F))*det;