关于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 getopt 参数处理小示例
Jun 09 Python
Python的Flask框架与数据库连接的教程
Apr 20 Python
使用Python的Tornado框架实现一个简单的WebQQ机器人
Apr 24 Python
进一步探究Python中的正则表达式
Apr 28 Python
Win10下Python环境搭建与配置教程
Nov 18 Python
python数据结构之链表的实例讲解
Jul 25 Python
python数字图像处理之高级滤波代码详解
Nov 23 Python
python批量修改文件夹及其子文件夹下的文件内容
Mar 15 Python
Python实现计算对象的内存大小示例
Jul 10 Python
python中利用matplotlib读取灰度图的例子
Dec 07 Python
Python多线程:主线程等待所有子线程结束代码
Apr 25 Python
python时间time模块处理大全
Oct 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 破解防盗链图片函数
2008/12/09 PHP
PHP新手用的Insert和Update语句构造类
2012/03/31 PHP
PHP获取搜索引擎关键字来源的函数(支持百度和谷歌等搜索引擎)
2012/10/03 PHP
Yii 2中的load()和save()示例详解
2017/08/03 PHP
PHP操作MySQL中BLOB字段的方法示例【存储文本与图片】
2017/09/15 PHP
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
jquery下checked取值问题的解决方法
2012/08/09 Javascript
异步动态加载JS并运行(示例代码)
2013/12/13 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
javascript实现checkbox复选框实例代码
2016/01/10 Javascript
JavaScript学习小结之使用canvas画“哆啦A梦”时钟
2016/07/24 Javascript
百度搜索框智能提示案例jsonp
2016/11/28 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
浅谈Vue 初始化性能优化
2017/08/31 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
JavaScript之数组扁平化详解
2019/06/03 Javascript
JS实现简易留言板特效
2019/12/23 Javascript
js将URL网址转为16进制加密与解密函数
2020/03/04 Javascript
python命令行工具Click快速掌握
2019/07/04 Python
django使用haystack调用Elasticsearch实现索引搜索
2019/07/24 Python
opencv中图像叠加/图像融合/按位操作的实现
2020/04/01 Python
浅谈JupyterNotebook导出pdf解决中文的问题
2020/04/22 Python
scrapy-splash简单使用详解
2021/02/21 Python
DC Shoes官网:美国滑板鞋和服饰品牌
2017/09/03 全球购物
西班牙电子产品购物网站:Electronicamente
2018/07/26 全球购物
英国亚马逊官方网站:Amazon.co.uk
2019/08/09 全球购物
Vinatis德国:法国领先的葡萄酒邮购公司
2020/09/07 全球购物
投标诚信承诺书
2014/05/26 职场文书
上课随便讲话检讨书
2014/09/12 职场文书
2015年个人思想总结
2015/03/09 职场文书
热血教师观后感
2015/06/10 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
2019年度行政文员工作计划范本!
2019/07/04 职场文书
Linux安装apache服务器的配置过程
2021/11/27 Servers
Three.js实现雪糕地球的使用示例详解
2022/07/07 Javascript
apache虚拟主机配置的三种方式(小结)
2022/07/23 Servers