关于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使用7z解压apk包的方法
Apr 18 Python
在GitHub Pages上使用Pelican搭建博客的教程
Apr 25 Python
Python中的random()方法的使用介绍
May 15 Python
python常见的格式化输出小结
Dec 15 Python
Python3.4 splinter(模拟填写表单)使用方法
Oct 13 Python
Python异常模块traceback用法实例分析
Oct 22 Python
python IDLE添加行号显示教程
Apr 25 Python
基于selenium及python实现下拉选项定位select
Jul 22 Python
python 元组和列表的区别
Dec 30 Python
Python中的min及返回最小值索引的操作
May 10 Python
Python中glob库实现文件名的匹配
Jun 18 Python
Python装饰器详细介绍
Mar 25 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代码
2010/08/08 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
TP - 比RBAC更好的权限认证方式(Auth类认证)
2021/03/09 PHP
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
兼容IE/Firefox/Opera/Safari的检测页面装载完毕的脚本Ext.onReady的实现
2009/07/14 Javascript
De facto standard 世界上不可思议的事实标准
2010/08/29 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
jQuery中多个元素的Hover事件解决方案
2014/06/12 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
vue加载完成后的回调函数方法
2018/09/07 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
[06:37]2014DOTA2国际邀请赛 昔日王者渴望重回巅峰
2014/07/12 DOTA
[49:18]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 OG vs TNC
2018/04/01 DOTA
python使用内存zipfile对象在内存中打包文件示例
2014/04/30 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
【python】matplotlib动态显示详解
2019/04/11 Python
python实现统计文本中单词出现的频率详解
2019/05/20 Python
numpy 声明空数组详解
2019/12/05 Python
使用Python给头像加上圣诞帽或圣诞老人小图标附源码
2019/12/25 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
django使用JWT保存用户登录信息
2020/04/22 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
python用什么编辑器进行项目开发
2020/06/17 Python
HTML5为输入框添加语音输入功能的实现方法
2017/02/06 HTML / CSS
美国家喻户晓的保健品品牌:Vitamin World(维他命世界)
2016/08/19 全球购物
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
怎样自定义一个异常类
2016/09/27 面试题
乌鸦喝水教学反思
2014/02/07 职场文书
学校消防演习方案
2014/02/19 职场文书
护理专业自荐信范文
2014/02/26 职场文书
中国合伙人观后感
2015/06/02 职场文书
初三化学教学反思
2016/02/22 职场文书