错误记录:遥感图像做极值化运算出现:UnboundLocalError: local variable ‘x_nor‘ referenced before assignment

Posted 空中旋转篮球

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了错误记录:遥感图像做极值化运算出现:UnboundLocalError: local variable ‘x_nor‘ referenced before assignment相关的知识,希望对你有一定的参考价值。

使用Python+gdal对图像做极值化运算,出现一下问题:

    out_ds.GetRasterBand(i).WriteArray(x_nor)  # 将每个波段的数据写入内存
UnboundLocalError: local variable 'x_nor' referenced before assignment

错误代码段:

if data.min() <0:  # 将lagndsat8数据背景值-19999转换为0值
      data = np.where(data <0, 0, data)  # 将背景值赋值为0(最小值)
      x_nor = (data - data.min()) / (data.max() - data.min() + 1e-6)
out_ds.GetRasterBand(i).WriteArray(x_nor)

问题原因分析:

出现以上问题的原因是变量为声明,那么为什么没有声明这个变量,这里是因为if条件语句没有执行,所以x_nor未提前声明。我们这里使用的遥感数据中的最小值大于0值,所以if没有执行。

解决办法:

(1)删除if语句,直接运行if下面的两行代码

(2)再次添加一个if或者elif语句,如:

        elif data.min() >=0:  # 将lagndsat8数据背景值-19999转换为0值
            x_nor = (data - data.min()) / (data.max() - data.min() + 1e-6)

以上是关于错误记录:遥感图像做极值化运算出现:UnboundLocalError: local variable ‘x_nor‘ referenced before assignment的主要内容,如果未能解决你的问题,请参考以下文章

错误记录:遥感图像做极值化运算出现:UnboundLocalError: local variable ‘x_nor‘ referenced before assignment

Python遥感图像处理应用篇(十五):GDAL 读取多光谱数据做归一化处理

Python遥感图像处理应用篇(十五):GDAL 读取多光谱数据做归一化处理

笔记:错误记录- gdal读取哨兵1雷达数据分贝化数据极值为nan

笔记:错误记录- gdal读取哨兵1雷达数据分贝化数据极值为nan

笔记:错误记录- gdal读取哨兵1雷达数据分贝化数据归一化计算极值为nan,输出相同错误结果