遥感影像浮点型(float32)转Byte(Uint8)
遥感图像经过辐射定标和大气校正后图像类型大多为float32位,进一步做纹理计算或深度学习时需要进行图像灰度级压缩,将图像类型转为8位或者更低的灰度级。借鉴16位转8位的算法思路,做了一个浮点型转8位的程序。
算法基本思路:
1、计算直方图,由于浮点型属于连续型变量,无法像整型一样按照每一个灰度级来统计像素个数,因此采用分级的思路,统计影像的最值,然后划分为28或216级。然后统计每一个范围的像素个数。
2、计算累计直方图。
3、计算累计直方图2%和98%对应的像素值。
4、对各像素进行灰度压缩。
void CumulativeHistogram(float *origindata, float