在Android

时间:2017-02-07 06:56:21

标签: android image image-processing gradient qgis

我试图在Android应用程序中复制QGIS软件的功能。我想在图像上应用颜色渐变(红色到绿色lut)以进一步有效分析。

Color Gradient (Red to Green lut)

在应用NDVI(归一化差异植被指数)指示器后生成如下图像。 NDVI的值范围从-1到+1。

enter image description here

在应用颜色渐变后生成下图所示的图像。现在可以有效地分析该图像,因为它将植物显示为绿色,地面显示为红色。

enter image description here

我在Android中尝试了以下代码,其结果是NDVI是从-1到+1的NDVI值。我没有添加用于查找NDVI的最大值和最小值的代码,但对于我的图像,NDVI的最小值为0.11,NDVI的最大值为0.57:

for (int i = 0; i < width; i++) {
            for (int j = 0; j < height; j++) {
                final int pixel1 = src1[i][j];
                final int pixel2 = src2[i][j];

                final double X = pixel2 - pixel1;
                final double Y = pixel2 + pixel1;

                final double NDVI = (X / Y);

                R = (int) ((255 * NDVI) / maxNDVI);
                G = (int) (((255 * (maxNDVI - NDVI)) / maxNDVI));
                B = 0;

                pixels[i][j] = Color.argb((Color.alpha(pixel1)), R, G, B);
         }
}

但我没有得到适当的结果。请帮我解决这个问题。

0 个答案:

没有答案