当前位置:网站首页>大疆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拼接
结果还是不错的,看来基本就是这个原因
边栏推荐
猜你喜欢
随机推荐
Question about #oracle#, how to solve it?
LayaBox---TypeScript---声明合并
Deep Learning 100 Examples - Convolutional Neural Network (CNN) for mnist handwritten digit recognition
ECCV22|PromptDet:无需手动标注,迈向开放词汇的目标检测
Kotlin的协程与生命周期
关于#oracle#的问题,如何解决?
多大数量级会出现哈希碰撞
org.apache.ibatis.binding.BindingException Invalidbound statement (not found)的解决方案和造成原因分析(超详细)
图形处理单元(GPU)的演进
Hello, my new name is "Bronze Lock/Tongsuo"
情景剧《重走长征路》上演
从零开始Blazor Server(5)--权限验证
10份重磅报告 — 展望中国数字经济未来
字母交换--字符串dp
mysql清除binlog日志文件
Nanny Level Tutorial: Write Your Own Mobile Apps and Mini Programs (Part 2)
After 21 years of graduation, I switched to software testing. From 0 income to a monthly salary of over 10,000, I am really lucky...
What is the future of smartwatches?
leetcode: 200. 岛屿数量
暑期总结3









