位置: 编程技术 - 正文

Python中使用OpenCV库来进行简单的气象学遥感影像计算(python的opencv)

编辑:rootadmin

推荐整理分享Python中使用OpenCV库来进行简单的气象学遥感影像计算(python的opencv),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python opencv-python,python opencv-python,python+opencv教程,python opencv-python,python opencv-python,opencv opencv-python,opencv opencv-python,opencv+python,内容如对您有帮助,希望把文章链接给更多的朋友!

OpenCV的全称是Open Source Computer Vision Library,是一个跨平台的计算机视觉库。OpenCV是由英特尔公司发起并参与开发,以BSD许可证授权发行,可以在商业和研究领域中免费使用。OpenCV可用于开发实时的图像处理、计算机视觉以及模式识别程序。该程序库也可以使用英特尔公司的IPP进行加速处理。OpenCV用C++语言编写,它的主要接口也是C++语言,但是依然保留了大量的C语言接口。该库也有大量的Python, Java and MATLAB/OCTAVE (版本2.5)的接口。这些语言的API接口函数可以通过在线文档获得。现在也提供对于C#, Ch,Ruby的支持。在Windows上编译OpenCV中与摄像输入有关部分时,需要DirectShow SDK中的一些基类。该SDK可以从预先编译的Microsoft Platform SDK (or DirectX SDK 8.0 to 9.0c / DirectX Media SDK prior to 6.0)的子目录SamplesMultimediaDirectShowBaseClasses获得。

下面我们就来看看OpenCV在Python编程下的应用,我们来处理一下简单的气象学计算,用python里面的opencv库写个脚本批处理图像反射率的计算试试~

核心步骤就是 遥感影像光谱辐射定标 →大气校正→计算反射率这三步了

1、遥感影像的光谱辐射定标 由遥感器的灵敏度特征引起的辐射畸变主要由其光学系统或光电转换系统的特征形成的,光电转换系统的灵敏性特征通常很重复,其校正一般是通过定期的地面测定值进行的。遥感器光谱辐射定标时采用以下转换算式:

遥感器各波段偏移与增益值从论文找了找后,找到这么一张表~

那么这么个函数就能定标咯:

2、遥感影像的大气校正任何一种依赖大气物理模型的大气校正方法都需要先进行遥感器的辐射校准。公式是这个咯(Chavez P S,Jr. Image -Based Atmospheric Correction Revisited and Improved Photogrammetric Engineering and Remote Sensing, ,, -)

Python中使用OpenCV库来进行简单的气象学遥感影像计算(python的opencv)

其中:Lhazel——大气层光谱辐射值;LI,min——遥感器每一波段最小光谱辐射值;LI,1%——反射率为1%的黑体辐射值。

关于LI,min和LI,1%的计算公式就省略了啊,感兴趣的同学可以自己去查查论文~

而计算Lhazel需要的参数可以从遥感图像的头文件中获得一部分,还有一部分是固定的参数~这些都藏在ENVI的背后,不过自己写脚本的时候找出他们还是废了一番功夫的。

计算Lhazel的代码如下:

3、计算遥感影像的反射率根据太阳辐射和大气传输原理与过程,TM/ETM+数据地面反射率反演的数学模型可综合表达为:

其中:ρ——地面相对反射率;D——日地天文单位距离;LsatI——传感器光谱辐射值,即大气顶层的辐射能量;LhazeI——大气层辐射值;ESUNl——大气顶层的太阳平均光谱辐射,即大气顶层太阳辐照度;SZ——太阳天顶角。

这里提一下其中两个参数的计算公式:日地天文单位距离 D=1 -0. cos(0.×(JD-4)×π/);(JD为遥感成像的儒略日(Julian Day),计算公式为:

I、J、K分别为年、月、日

有了这些,最后就能直接算出来反射率啦,粗糙代码如下,因为是写着玩的,也没怎么处理:不过需要注意的是,遥感图像进行计算跟输出的时候,需要使用uint类型的数组来存储的(uint8长度不够啊。。)一些参数涉及到浮点数计算,如果对处理结果有极高要求的话,最好使用专门的科学运算库(像我这种渣学校才不介意这些)

使用C#配合ArcGIS Engine进行地理信息系统开发 简单的地图读取、展示终于到暑假了。。。开始认真整理整理相关学习的心得体会咯~先把很久之前挖的关于C#二次开发的坑给填上好了~这次先计划用一

Go语言基于Socket编写服务器端与客户端通信的实例 在golang中,网络协议已经被封装的非常完好了,想要写一个Socket的Server,我们并不用像其他语言那样需要为socket、bind、listen、receive等一系列操作头疼,

python脚本设置超时机制系统时间的方法 本文为大家介绍了python脚本设置系统时间的方法,一共有两种,其一是调用socket直接发送udp包到国家授时中心,其二是调用ntplib包。我在本地电脑ping国

标签: python的opencv

本文链接地址:https://www.jiuchutong.com/biancheng/382379.html 转载请保留说明!

上一篇:Python实现以时间换空间的缓存替换算法

下一篇:使用C#配合ArcGIS Engine进行地理信息系统开发(arcgis engine+c#实例开发教程)

  • 奖励旅游的概念解释
  • 利润分配未分配利润和未分配利润的区别
  • 建设部门罚款会计分录
  • 分公司不独立核算怎么做账
  • 代发工资记什么科目
  • 当月已抵扣的专用发票能作废吗
  • 工会经费0.008申报
  • 滴滴出行开具的运输服务电子普通发票
  • 报销交通费的会计怎么做
  • 行政单位预算外资金收入
  • 加油站冲值加油怎么操作
  • 装修费用如何摊销成本
  • 上年度的印花税怎么计算
  • 企业零申报教学视频
  • 小规模纳税人月超10万季度不超30万
  • 2021装修法律
  • 企业出租收入增值税税率
  • 理财产品取得收益要交税吗
  • 筹建期水电费计入什么科目
  • 办公室出租中介公司
  • 年终奖个人所得税怎么扣
  • 增值税小规模纳税人优惠政策
  • 购材料有折让如何做会计分录?
  • 员工奖励专项基金怎么填
  • 核定征收个体户怎么报税
  • 苹果电脑截图快捷键
  • 投资入股的无形资产要摊销吗
  • 珠宝加工税率是多少
  • win7为什么这么多人用
  • 供热企业供热费收入的核算
  • 发票开具的有哪些原则
  • 资产负债表中其他综合收益怎么填
  • 资产负债表的编制方法
  • 企业研发费用加计扣除最新政策
  • 赤狐 (© Yossi Eshbol/Minden Pictures)
  • Yii2 rbac权限控制之菜单menu实例教程
  • 实战到底究竟是什么意思啊
  • 增值税一般纳税人是什么意思
  • 企业所得税如何计算应纳税所得额
  • php手机验证码验证
  • mysql的基本介绍
  • php自动压缩图片
  • 以前年度的成本忘了结转然后怎么办
  • 主营业务收入含义
  • ado连接access数据库
  • Ubuntu上安装jdk
  • 单位买车和个人买车交税有何不同
  • 租车协议要不要报税务机关备案?
  • 企业出售自用车辆的会计处理
  • 预付账款和应付账款的区别与联系
  • 设备租赁公司怎么样
  • 人力资源外包服务包括哪些
  • 坏账确认无法收回
  • 购销业务活动包括哪些
  • 外汇账户具体包括哪些
  • mysql详细介绍
  • 如何解开win10电脑密码
  • 苹果发布会最新消息
  • win10预览版最新
  • windows 隐藏软件
  • win10系统打开网页一会儿就没了
  • Linux系统下以模块方式安装卸载文件系统
  • 苹果机的mac地址
  • win10系统用正版有什么好处
  • vc6.0安装教程win8
  • 第一章初见第二章决定
  • 事件绑定js
  • python制作简单图形
  • js文件设置编码
  • node.js怎么用
  • Node.js+Express+MySql实现用户登录注册功能
  • 安卓系统引导程序
  • jquery动态添加html代码
  • 咪咕游戏包括什么
  • android开发范例实战宝典
  • 树形菜单html
  • 陕西国税电子税务局端还可以登录吗
  • 国家电子税务局江西省电子税务局
  • 重庆两江新区购房政策
  • 山东税务自然人注册怎么回事
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设