Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 校正UAS图像的最佳方法水面上的太阳闪烁_Python_Opencv_Image Processing_Mosaic - Fatal编程技术网

Python 校正UAS图像的最佳方法水面上的太阳闪烁

Python 校正UAS图像的最佳方法水面上的太阳闪烁,python,opencv,image-processing,mosaic,Python,Opencv,Image Processing,Mosaic,我有一个挑战是,在无人机(UAS)图像上,哪里有阳光闪烁,包括水面的镜面和非镜面增亮。在应用渐晕校正之前,请参见下面的原始图像。阳光闪烁是图像中较低的橙色和红色部分。红点是镜面反射,橙色像素由于阳光而变亮 我可以用下面的代码来识别太阳光,这不是完美的,因为它需要看到图像并估计太阳光在地图上的百分比,这是可变的。我正在处理成千上万的图像,这使得很难对所有图像使用一个百分比,因为太阳的闪烁程度不同 glint_min_value = np.percentile(band.ReadAsArray()

我有一个挑战是,在无人机(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)
我想找出调整图像,使阳光闪烁的效果得到纠正。是否有任何已知的方法或途径