Image processing 噪声图像的特征检测

Image processing 噪声图像的特征检测,image-processing,opencv,noise,noise-reduction,Image Processing,Opencv,Noise,Noise Reduction,我已经建立了一个成像系统与网络摄像头和功能匹配,如我移动相机周围;我可以跟踪摄像机的运动。我正在做一些类似的事情,除了使用网络摄像头框架作为输入 它对“好”图像效果非常好,但在非常弱的光线下拍摄图像时会出现大量噪声(相机高增益),这会干扰特征检测和匹配。基本上,它检测不到任何好的特征,当它检测到时,它无法在帧之间正确地匹配它们 有人知道解决这个问题的好办法吗?还有哪些其他方法用于查找和匹配特征 以下是两个功能非常低的示例图像: 我想这将是你在这里的最佳选择。它旨在告诉您两幅图像之间的相移(即平

我已经建立了一个成像系统与网络摄像头和功能匹配,如我移动相机周围;我可以跟踪摄像机的运动。我正在做一些类似的事情,除了使用网络摄像头框架作为输入

它对“好”图像效果非常好,但在非常弱的光线下拍摄图像时会出现大量噪声(相机高增益),这会干扰特征检测和匹配。基本上,它检测不到任何好的特征,当它检测到时,它无法在帧之间正确地匹配它们

有人知道解决这个问题的好办法吗?还有哪些其他方法用于查找和匹配特征

以下是两个功能非常低的示例图像:

我想这将是你在这里的最佳选择。它旨在告诉您两幅图像之间的相移(即平移)。与特征检测相比,它对噪声的适应性更强(但并非免疫),因为它在频率空间中工作;然而,特征检测器在空间上工作。另一个好处是,与特征检测方法相比,它的速度非常快。我在OpenCV主干中提供了一个亚像素级的实现

但是,你的图片除了中间的折痕之外,几乎没有什么特色,所以即使相位相关也会有一些麻烦。把它想象成在暴风雪中检测翻译。如果你能看到的都是白色,你根本就说不出你已经翻译过了,所以这个词。在您的情况下,算法可能会出现“绿色化”:

您是否可以调整相机设置,使其在弱光条件下工作得更好。你把虹膜完全打开了吗?你能接受较低的帧率吗?设置更长的曝光时间将允许相机收集更多光线,从而以添加运动模糊为代价提供更多功能。或者,如果你的默认环境是微光,你可能需要为之设计的东西,比如红外相机,但这些东西可能很昂贵。除此之外,大镜头和长曝光是你的朋友:)


可能对提高图像对比度感兴趣。但是,有时它只会增强噪音。OpenCV有一个名为的全局直方图均衡化函数。对于更本地化的实现,您需要了解对比度受限的自适应直方图均衡化(简称直方图均衡化)。这是一篇关于它的好文章。页面上有一些很好的例子和一些代码。

你能发布一张图片来显示我们在这里谈论的“光线有多暗”吗?添加了一些图片。对比度很低,我不明白,我们应该在你的图像中看到什么?它是同一个被翻译的图像,我需要一个很好的方法以编程的方式理解它们的翻译。功能匹配不起作用,因为没有足够的功能来匹配。实际上,我昨天正在下载OpenCV的最新SVN,只是为了你编写的功能。(谢谢!:)openCV的安装很好,但是要让它在x64体系结构上运行有很多障碍——其中大多数都是通过cMake查找和使用正确的文件。但是非常感谢!我会尽快试试这个。我想知道你是否能帮我。我正在使用你的相位相关代码在openCV中工作,我试图找到一种方法来获取矩阵C——我想看看C是什么样子。我已将此代码添加到您的方法中(_result现在是function param):_result.create(C.size(),C.type());Mat result=_result.getMat();uchar*data=result.ptr();对于(int i=0;i