ContextCapture系列教程(二):无人机航拍相片去雾处理(附去雾软件下载地址)

一、前言

由于天气情况复杂多变,获取的无人机影像难免会出现不同程度雾霾现象,在无人机数据处理工作中,我们会碰到大量各种各样的照片,有雾的照片会导致后期正射影像成果质量降低,甚至在做空三平差时无法进行。

我一直在思索,有没有办法可以去除无人机影像上的雾霾现象。我从网上下载了各种去除无人机影像雾霾的小软件,经比较,这篇文章要分享的这款软件效果是最好的。

这款软件是从何恺明先生的单张影像去雾算法中获得灵感,参照他提供的算法,针对无人机影像特点,对算法做了大量改进,影像去雾效果非常明显。

二、去雾效果对比试验

下面是一组处理前后影像对比:
处理前

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
针对无人机航拍图像去问题,可以使用以下算法: 1. 直方图均衡化算法 2. 暗通道先验算法 3. 基于颜色空间的去算法 4. 基于深度学习的去算法 其中,暗通道先验算法是一种较为常用的去算法,可选择该算法完成去的相关程序。 以下是使用Python实现暗通道先验算法完成无人机航拍图像去的示例代码: ```python import cv2 import numpy as np def dark_channel(img, size): b, g, r = cv2.split(img) dc = cv2.min(cv2.min(r, g), b) kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (size, size)) dark = cv2.erode(dc, kernel) return dark def atm_light(img, dark): [h, w] = img.shape[:2] imsize = h * w numpx = max(int(imsize / 1000), 1) darkvec = dark.reshape(imsize, 1) imgvec = img.reshape(imsize, 3) indices = np.argsort(darkvec, 0) indices = indices[imsize - numpx::] atmsum = np.zeros([1, 3]) for ind in range(1, numpx): atmsum = atmsum + imgvec[indices[ind]] A = atmsum / numpx return A def transmission(img, A, size): omega = 0.95 im3 = np.zeros(img.shape, img.dtype) for ind in range(0, 3): im3[:, :, ind] = img[:, :, ind] / A[0, ind] transmission = 1 - omega * dark_channel(im3, size) return transmission def dehaze(img, t, A, tx=0.1): res = np.zeros(img.shape, img.dtype) t = cv2.max(t, tx) for ind in range(0, 3): res[:, :, ind] = (img[:, :, ind] - A[0, ind]) / t + A[0, ind] return res if __name__ == '__main__': img = cv2.imread('image.jpg') I = img.astype('float64') / 255 dark = dark_channel(I, 15) A = atm_light(I, dark) t = transmission(I, A, 15) J = dehaze(I, t, A) cv2.imshow('Original Image', img) cv2.imshow('Dehazed Image', J) cv2.waitKey(0) cv2.destroyAllWindows() ``` 其中,`img`为输入的无人机航拍图像,`dark_channel`函数用于计算暗通道,`atm_light`函数用于估计大气光,`transmission`函数用于计算透射率,`dehaze`函数用于去。 该代码使用OpenCV库实现,将输入图像先进行归一化处理,然后分别计算暗通道、大气光、透射率和去图像。最后,将原图像和去后的图像通过OpenCV库显示出来。 需要注意的是,该代码中的参数值(如窗口大小、透射率阈值等)需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

招魂术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值