当前位置:网站首页>大疆P4M云遮挡矫正
大疆P4M云遮挡矫正
2022-08-02 11:08:00 【沈帅杰】
大疆精灵四多光谱版,集辐射传感器和多光谱相机于一身,理论上只要不是大风天气就都可以良好的完成任务,在AE锁打开的情况下相机会自动根据辐射值调整曝光时间,使太阳辐射有变化的情况下整张影象趋于均一。但实际使用中遇到多云天气,还是会对拼接后的影象产生较大的影响,说明设备的精准度还有待提高。
比如图中3251和3261明显比其他部分亮
原因分析
首先我们提取整个影象的辐射值,提取方法见疆精灵4多光谱辐射信息分析
图中红框的区域是上面影象的区域,其中3271和3261是变化比较明显的两个点,3261过亮可能就是辐射传感器慢于相机,相机采集的照片已经是太阳直射了,而辐射传感器还是有云情况下的辐射,导致计算反射率时偏高。
解决办法
既然辐射传感器与相机之间有偏差,在执行任务过程中遇到辐射剧烈变化时,使用后一张的辐射代替前一张的辐射即可基本使相机于实际太阳辐射对应起来,再计算反射率
import cv2
import numpy as np
from pyexiv2 import Image
def image_info(imagepath):
"""获取xmp、xeif信息"""
img = Image(imagepath)
exif = img.read_exif() # 读取 EXIF 元数据,这会返回一个字典
xmp = img.read_xmp()
img.close() # 操作完之后,记得关闭图片
return xmp, exif
def change_Irradiance(image_1, image_2):
""" 使用image_2的辐射替换image_1的辐射 """
image_1 = image_1
image_2 = image_2
xmp1, exif1 = image_info(image_1)
xmp2, exif2 = image_info(image_2)
xmp1['Xmp.drone-dji.Irradiance'] = xmp2['Xmp.drone-dji.Irradiance']
Image(image_1).modify_xmp(xmp1)
# 五个波段全部替换
for i in range(1,6):
image_1 = r'G:\multispectral images\DJI_326%d.TIF'%i
image_2 = r'G:\multispectral images\DJI_327%d.TIF'%i
change_Irradiance(image_1, image_2)
以上代码是两张图片替换辐射
替换后基于新辐射计算反射率,用metashape拼接
结果还是不错的,看来基本就是这个原因
边栏推荐
- Oracle 19c 连接PDB
- LayaBox---TypeScript---Mixins
- 保姆级教程:写出自己的移动应用和小程序(篇二)
- LayaBox---TypeScript---Module Analysis
- Geoffery Hinton: The Next Big Thing in Deep Learning
- 从幻核疑似裁撤看如何保证NFT的安全
- Challenge LeetCode1000 questions in 365 days - Day 047 Design Circular Queue Circular Queue
- LayaBox---TypeScript---Three slash instructions
- org.apache.ibatis.binding.BindingException Invalidbound statement (not found)的解决方案和造成原因分析(超详细)
- sva assertion data
猜你喜欢
同样做软件测试,和月收入 3W 的学弟聊了一晚上,我彻底崩溃了
突破边界,华为存储的破壁之旅
Hello, my new name is "Bronze Lock/Tongsuo"
STM32+MPU6050 Design Portable Mini Desktop Clock (Automatically Adjust Time Display Direction)
C#为listview选中的项添加右键菜单
Challenge LeetCode1000 questions in 365 days - Day 047 Design Circular Queue Circular Queue
5G基础学习1、5G网络架构、网络接口及协议栈
STM32+MPU6050设计便携式Mini桌面时钟(自动调整时间显示方向)
AlphaFold又放大招,剑指整个生物界!
翁恺C语言程序设计网课笔记合集
随机推荐
5G基础学习1、5G网络架构、网络接口及协议栈
为什么要使用BGP?
LayaBox---TypeScript---Mixins
记一次mysql查询慢的优化历程
QT笔记——QT类反射机制简单学习
Oracle查询提示 ORA-00933 SQL command not properly ended 原因排查
Excel动态图制作
Shell编程案例
Hub and Spoke配置案例
10份重磅报告 — 展望中国数字经济未来
翁恺C语言程序设计网课笔记合集
Oracle 19c配置ob server
从众多接口中脱颖而出的最稳定的接口——淘宝详情api
find查找多类型结尾文件
MySql模糊查询大全
Jay Chou's new song is released, crawl the "Mojito" MV barrage, and see what the fans have to say!
ansible模块--copy模块
Why use BGP?
Oracle 单实例19.11升级到19.12
yolo格式(txt)数据集转VOC(xml)