关于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之Import 模块
Oct 13 Python
在Python中使用itertools模块中的组合函数的教程
Apr 13 Python
python实现字典(dict)和字符串(string)的相互转换方法
Mar 01 Python
Python字典,函数,全局变量代码解析
Dec 18 Python
Python基于opencv的图像压缩算法实例分析
May 03 Python
基于Python List的赋值方法
Jun 23 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
Jul 25 Python
python爬虫框架scrapy实现模拟登录操作示例
Aug 02 Python
python构建基础的爬虫教学
Dec 23 Python
python从zip中删除指定后缀文件(推荐)
Dec 05 Python
如何打包Python Web项目实现免安装一键启动的方法
May 21 Python
python统计mysql数据量变化并调用接口告警的示例代码
Sep 21 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
joomla内置的表单验证功能使用方法
2010/06/11 PHP
关于php mvc开发模式的感想
2011/06/28 PHP
php数组删除元素示例
2014/03/21 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
jQuery 表单验证扩展代码(一)
2010/10/11 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
ajax的hide隐藏问题解决方法
2012/12/11 Javascript
没有document.getElementByName方法
2013/08/19 Javascript
jQuery中height()方法用法实例
2014/12/24 Javascript
jquery实现倒计时效果
2015/12/14 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
jquery封装插件时匿名函数形参和实参的写法解释
2017/02/14 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
Vue.js仿微信聊天窗口展示组件功能
2017/08/11 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
mysql 之通过配置文件链接数据库
2017/08/12 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
详解使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件
2019/08/23 Python
pycharm 2019 最新激活方式(pycharm破解、激活)
2020/09/22 Python
什么是python的必选参数
2020/06/21 Python
浅谈python出错时traceback的解读
2020/07/15 Python
python实现二分查找算法
2020/09/18 Python
基于HTML5 Canvas:字符串,路径,背景,图片的详解
2013/05/09 HTML / CSS
Otel.com:折扣酒店预订
2017/08/24 全球购物
Grow Gorgeous美国官网:只要八天,体验唤醒毛囊后新生的茂密秀发
2018/06/04 全球购物
货物运输服务质量承诺书
2014/05/29 职场文书
护理专业自荐书
2014/06/04 职场文书
目标责任书格式
2014/07/28 职场文书
商超业务员岗位职责
2015/02/13 职场文书
2016大学迎新晚会开场白
2015/11/24 职场文书
python调用ffmpeg命令行工具便捷操作视频示例实现过程
2021/11/01 Python
vue递归实现树形组件
2022/07/15 Vue.js