2016-05-17 21 views
1

我对图像处理知之甚少,所以如果这不可能实现,请耐心等待。无论如何,从航​​空影像中去除算法变色

我有几组来自不同来源的同一区域的航拍图像。这些照片已采取在不同的季节,不同的光照条件等等。不幸的是一些图像看起来斑片状和遭受变色或云或PIX-兴高采烈被部分遮挡下,与参数例如picture1picture2

我想借作为一个输入,同一区域的几张图像(通过某种平均方式)可以生成1张质量提高的图像。我知道一些C/C++,所以我可以使用一些图像处理库。

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

回答

0

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

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

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

这个问题可能是有开发/秋天的颜色等,这可能会混淆你的算法,但只有一种方法来找出!

+0

“这应该是相当琐碎”:我不会这么乐观。 –

1

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

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

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

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

为了便于说明,使用手动HLS调整(比颜色扭曲强度低)快速尝试使用PhotoShop。

enter image description here