关于Python 的简单栅格图像边界提取方法


Posted in Python onJuly 05, 2019

在GIS中,栅格属性里有关于栅格自身的信息,背景(nodata value)对于识别一张图像的边界像元尤为重要,我们目的只要把每行每列中的第一次出现不是nodata的像元和最后一次出现nodata的前一个像元就可以了。

对于栅格,可以用ArcPy中的RasterToNumpyArray函数将将栅格转成numpy数组,然后就可以按照所想读取出每行列中首尾像元。

以下是部分代码提取边界像元的核心算法,其实是很简单的一个思路(假设0是nodata value)。

a=[[0 for col in range(Raster.width)]for row in range(Raster.height)]
 
for i in range(0,Raster.width):
... for j in range(0,Raster.height):
...  if(myRaster[j][i]!=0 and myRaster[j-1][i]==0):
...    a[j][i]=myRaster[j][i]
...  if(myRaster[j][i]==0 and myRaster[j-1][i]!=0):
...    a[j-1][i]=myRaster[j-1][i]
...    
 
 
for i in range(0,myRaster.height):
... for j in range(0,myRaster.width):
...  if(arr[i][j]!=0 and arr[i][j-1]==0):
...    a[i][j]=arr[i][j]
...  if(arr[i][j]==0 and arr[i][j-1]!=0):
...    a[i][j-1]=arr[i][j-1]

以上这篇关于Python 的简单栅格图像边界提取方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中黄金分割法实现方法
May 06 Python
python获取当前时间对应unix时间戳的方法
May 15 Python
利用django如何解析用户上传的excel文件
Jul 24 Python
Python基于递归算法实现的走迷宫问题
Aug 04 Python
对python 矩阵转置transpose的实例讲解
Apr 17 Python
python 判断网络连通的实现方法
Apr 22 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
如何用Python制作微信好友个性签名词云图
Jun 28 Python
python tkinter窗口最大化的实现
Jul 15 Python
在django admin中添加自定义视图的例子
Jul 26 Python
Python 串口通信的实现
Sep 29 Python
python 调整图片亮度的示例
Dec 03 Python
Python3+Appium安装使用教程
Jul 05 #Python
Python叠加两幅栅格图像的实现方法
Jul 05 #Python
用vue.js组件模拟v-model指令实例方法
Jul 05 #Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 #Python
Python 计算任意两向量之间的夹角方法
Jul 05 #Python
python实现两个经纬度点之间的距离和方位角的方法
Jul 05 #Python
Python3+Appium实现多台移动设备操作的方法
Jul 05 #Python
You might like
php面向对象全攻略 (十六) 对象的串行化
2009/09/30 PHP
PHP生成图片验证码、点击切换实例
2014/06/25 PHP
PHP通过反射动态加载第三方类和获得类源码的实例
2015/11/27 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
深入理解JavaScript系列(16) 闭包(Closures)
2012/04/12 Javascript
Javascript中call的两种用法实例
2013/12/13 Javascript
JavaScript中Number.MIN_VALUE属性的使用示例
2015/06/04 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
JavaScript实现前端分页控件
2017/04/19 Javascript
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
关于js对textarea换行符的处理方法浅析
2018/08/03 Javascript
JS实现随机抽取三人
2019/11/06 Javascript
jQuery实现鼠标滑动切换图片
2020/05/27 jQuery
vue打包静态资源后显示空白及static文件路径报错的解决
2020/09/02 Javascript
Python3基础之基本数据类型概述
2014/08/13 Python
python之Socket网络编程详解
2016/09/29 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
Python中print和return的作用及区别解析
2019/05/05 Python
详解Python3之数据指纹MD5校验与对比
2019/06/11 Python
PyQt5 加载图片和文本文件的实例
2019/06/14 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
Python常用编译器原理及特点解析
2020/03/23 Python
电信专业毕业生推荐信
2013/11/18 职场文书
五型班组建设方案
2014/02/10 职场文书
《藏戏》教学反思
2014/02/11 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
六五普法宣传标语
2014/10/06 职场文书
2015年世界艾滋病日活动总结
2015/03/24 职场文书
表扬信格式模板
2015/05/05 职场文书
同事离别感言
2015/08/04 职场文书
晚会开幕词范文
2016/03/04 职场文书
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android
Java面试题冲刺第十九天--数据库(4)
2021/08/07 Java/Android
redis中lua脚本使用教程
2021/11/01 Redis
Mysql忘记密码解决方法
2022/02/12 MySQL
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python