1

我有一个挑战,即在无人飞行器 (UAS) 图像上,哪里有阳光闪烁,包括镜面反射和非镜面反射的水面增亮。在应用晕影校正之前,请查看下面的原始图像。太阳闪烁是图像的橙色和红色下部。红色斑点是镜面反射,橙色像素由于阳光而变亮。

在此处输入图像描述

我可以使用以下代码识别太阳闪烁,这并不完美,因为它需要查看图像并估计地图上太阳闪烁的百分比是可变的。我正在处理成千上万的图像,这使得很难对所有图像使用一个百分比,因为太阳闪烁的程度会有所不同。

glint_min_value = np.percentile(band.ReadAsArray(), 85.0)
final_gl_tif = glint_tif.replace('_gl', '_fi_gl')

if not os.path.isfile(final_gl_tif):
    cmd = 'gdal_calc.py -A "{}" --quiet --outfile="{}" --calc="A*(A{}{})" --NoDataValue=0'.format(
        img, glint_tif, operator, glint_min_value, nodata
    )
    call(cmd, shell=True)
    print('Glint tiff {} {}'.format(glint_tif, os.path.isfile(glint_tif)))
    # project and set 0 to -9999 nodata value

    gdal_wrap = 'gdalwarp -q -srcnodata {} -dstnodata {} {} {}'.format(
        SOURCE_NODATA, nodata, glint_tif, final_gl_tif)

    call(gdal_wrap, shell=True)

我想找个地方调整图像,以便校正太阳闪烁的效果。有什么已知的方法或方法吗?

4

0 回答 0