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; 经过测试多组数据,发现上述步骤无误:
但是imlincombc的原理还是不清楚,按imlincomb函数的源码,计算方法应该和上述方法不同。留待以后熟悉matlab了再查 |
mat2gray函数原理分析
最新推荐文章于 2021-03-16 12:25:39 发布