位置: 编程技术 - 正文

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#实例开发教程)

  • 小规模纳税人收普票和专票有什么区别
  • 计提印花税会计凭证怎么做
  • 印花税的账目处理
  • 在电子税务里怎么查以前年度亏损数据
  • 单位多久查一次征信
  • 税控盘服务费减免税会计分录
  • 普通合伙企业要交什么税
  • 行政单位库存材料包括哪些
  • 增值税普通发票需要交税吗
  • 利润总额递延所得税
  • 研发场地租赁计什么科目
  • 私车公用保险费用公司承担吗
  • 应收款未收到怎么做账
  • 个体户核定征收超过了怎么办
  • 小区物业费开票名称
  • 无形资产进项税计入成本吗?
  • 印花税资金账簿税率是多少
  • 进料加工贸易是什么意思
  • 宽带合同要交印花税吗
  • 红冲发票地址不一样可以吗
  • 当月认证失控发票怎么做账处理?
  • 体育用品怎么才能买到
  • 财务每月需要报哪些税
  • 研发阶段计入管理费用吗吗
  • 无法访问移动网络怎么办
  • php输出一维数组
  • 苹果手机抖音投屏到电视怎么投屏
  • php7 数组
  • realshed.exe - realshed是什么进程 有什么用
  • 网络和共享中心在哪里打开
  • linux双ip路由设置方法
  • php常用设计模式(大总结)
  • 职工教育经费会计准则最新规定
  • PHP:GregorianToJD()的用法_日历函数
  • 悬崖雕塑
  • 金银首饰消费税计税依据
  • php实现数据库创建题库
  • php遍历对象
  • PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
  • 谷歌浏览器跨域解决方案
  • lstm输出多个预测值
  • string对象放在哪里
  • 公司一季度报表
  • 详解PostgreSQL 语法中关键字的添加
  • 投资公司投资收益要交增值税吗
  • 如何算基数
  • 企业应缴纳税款
  • 控股子公司破产清算 母公司需审计
  • 一般纳税人企业所得税怎么征收
  • MySQL中使用FREDATED引擎实现跨数据库服务器、跨实例访问
  • 收入费用表格式
  • 资源税的征税对象都是原矿和选矿
  • 购买电脑一次性计入费用吗合理吗
  • 疫情期间社保减免优惠政策几个月
  • 境外情况
  • 因为培训发生的事情
  • 企业到外地
  • 购车预付款交了可以退吗
  • 生产成本和主营业务收入的关系
  • centos7.4
  • Win10 Insider 10565去除快捷方式小箭头的方法
  • macbook imessage
  • win7激活后grub
  • win10系统怎样卸载程序
  • win8系统怎么样好用吗
  • javascript create
  • SDK不兼容Ubuntu64位系统的解决办法!!!
  • 贴吧热门评论
  • shell 数组变量
  • 简单的jquery插件实例
  • jquery1.8
  • python socket用法
  • 国家税务总局党委委员名单
  • 遵从与尊从
  • 济南税务开票软件是什么
  • 小规模税控盘服务费怎么填增值税申报表
  • 杭州市各区面积人口排名
  • 餐饮办税
  • 按照5%的征收率减按1.5%计算应纳税额是什么意思
  • 怎样才能做好企业总经理?谈谈你的看法
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设