无论如何去除航空影像的算法变色

我对图像处理知之甚少,所以如果这是不可能实现的,请耐心等待。

我有几组来自不同来源的同一区域的航拍图像。 这些照片是在不同的季节拍摄的,在不同的照明条件下等。不幸的是,一些图像看起来是斑点状的,受到变色或部分被云层或像素遮挡,例如图片1和图片2

我想将同一区域的几幅图像(通过某种平均值)作为输入,生成1幅质量改善的图像。 我知道一些C / C ++,所以我可以使用一些图像处理库。

任何人都可以提出任何图像处理算法来实现它或知道在这个领域做的任何研究?


我会尝试使用“色彩扭曲”转换,即应用于RGB组件的3x3矩阵。 为了实现它,您需要在边框分割的区域中选取颜色样本。 你应该选择三种明显不同的参考颜色(因此六个样本)。 这将允许您编写九个线性方程来确定矩阵系数。

然后,您将通过这种颜色扭曲来纠正已更改的区域。 由于这些区域的几何形状与现场补丁相互交织,我没有看到比手工绘制区域更好的方法。

在第二张照片的情况下,区域的边界会模糊,因此您还需要模糊区域蒙版并进行混合。

无论如何,不​​要指望对这些问题进行完美的修复,因为转换可能是非线性的,而完全擦除边缘将是困难的。 我还认为,在恢复它们的地方可能会产生丑陋的文物,因此颜色会被冲刷掉。

为了说明起见,PhotoShop使用手动HLS调整进行了快速尝试(比色彩扭曲更弱)。

在这里输入图像描述


我想到的第一件事是各种核心矩阵。

做第一遍照片并使用边缘检测算法来确定照片之间的边界 - 这应该是相当平凡的,但是您需要消除任何重叠/褪色(看起来像图片2中的一些)在一分钟之内会明白为什么。

沿着您检测到的每个边框沿着第二个方向行进,并假定边框两侧的像素应该是相同的颜色。 确定红色值,绿色值和蓝色值之间的差值,并在整个线段上取平均值,然后除以2。 具有较低红色,绿色或蓝色值的图像可获得此新增值。 红色,绿色或蓝色值较高的值将减去此值。 在这一行的任何一边,现在每个像素都应该完全相同。 如果你愿意,你可以删除其中的一行,但如果这些行不能运行图像的长度,这可能会导致大小问题,并且该行可能不会很明显。 通过沿着这条线路生成一个过滤器,这可能变得更加复杂 - 我将把它留给你。

这个问题可能出现在开发/下降的颜色等,这可能会混淆你的算法,但只有一种方法可以找出!

链接地址: http://www.djcxy.com/p/79657.html

上一篇: anyway to remove algorithmically discolorations from aerial imagery

下一篇: Algorithm for following the path of ridges on a 3D image