2013-07-28 23 views
12

目前我很难想到从我收到的图像中删除渐变的好方法。删除没有比较图像的图像的渐变

该图像是由显微镜照相机拍摄的照片,中间有一道眩光。图像有一个贯穿图像的图案。不过,我应该删除照相机光线创建的图像上的光线刺眼。

不幸的是,由于相机的性质,不可能在黑色背景上拍摄一张照片,以找到梯度分布。我也没有没有渐变的比较图像。 (请注意,拍摄照片时光眩的位置将始终保持一致)

更简单地说,它就像有一张带有闪光灯的照片,但我想摆脱闪光灯。唯一的问题是,我没有办法在没有闪光灯的情况下获取图像,以便只用闪光灯进行比较甚至获得黑色图像。

我目前的想法是进行边缘检测,并在远离边缘的特定位置(由于色差)获取样本,并使用它来测量渐变的分布,因为这些区域应该具有相对相同的颜色。不过,我想知道是否有更容易和更好的方式来做到这一点。

如果需要我以后会发布图片的例子。

目前我更喜欢用C++来解决这个问题,如果使用opencv更容易。

在此先感谢有关此问题的任何可能的想法。如果有另一个链接,教程或帖子可以解决我的问题,我将非常感谢这篇文章。

enter image description here

,你可以告诉有一个光多数民众赞成在IMG被shinned你可以从白斑告诉。并且由于光照,顶部比底部轻,椭圆内部的颜色实际上与拍摄照片时颜色不同。然而盒子和椭圆形之间的颜色应该是一致的。我最初的想法是也许品尝只有那些领域的一些知识和建立,我可以利用,以除去轻的轮廓,但我不知道该如何有效的将是或者是否有更好的办法

编辑:

嗯,我尝试了罗杰的建议,结果非常好。使用110内核高斯模糊来查找照明并在其上执行CLAHE。 (均在OpenCV的做)

enter image description here 但是我的同事告诉我,图像看起来不完全一致,并指出,围绕所在的区域曾经是光线稍亮。他建议尝试选择性的高斯模糊,其中某些阈值像素值以上的区域不会模糊,而其他图像模糊。

有没有人有关于这个的意见,也许是一个链接,教程,或这样的事情的例子正在做?大部分的东西我觉得往往是选择性模糊的,如Photoshop程序和GIMP

EDIT2:

enter image description here

这是很难说只用眼睛,但我相信我已经实现了比较接近(( - A * x - B * y)/ C)(x,y,z),其中z是像素值。我认为这可以通过利用正弦拟合函数来改善?我不确定。但我对结果相对满意。非常感谢罗杰伟大的想法。

我相信使用一堆照片,并获得平均会是另一个好方法(由罗杰建议),但Unofruntely我无法实现这一点,因为我没有提供各种图片和机器正在修改所以我无法使用它。

+0

您可能可以尝试使用具有非常大的内核的高斯模糊来将图像转换为背景渐变的近似值。没有看到图像很难说。 –

+0

通过模糊分布是否有效,足以在整个img中完全创建均匀的亮度分布? – user2427671

+1

我非常喜欢这个问题及其答案。一个月前我发布了一个类似的问题(http://stackoverflow.com/questions/19035835/correct-image-for-local-dark-light-spots-equalise-luminance-intensity-loca),但这里的答案很多更好。 – Leo

回答

8

我以前在这方面做过一些工作,发现大的高斯模糊核可以产生合理的背景照度近似值。我将尝试在你的示例图像上找到一些东西,但同时,这里是高斯模糊后半径为50像素的图像示例,这可能会帮助您决定是否值得进步。

Blurred

UPDATE

只是这个形象打,其实你可以得到使用自适应直方图均衡(我用CLAHE)一个合理的改进 - 见下面的比较 - 有什么用处?

CLAHE

因为我进步,我会更新这个答案与更多的细节。

+0

感谢这个信息。我明天会试试看看它是如何运作的。但是关于模糊的大小不是最好让高斯模糊尽可能大吗?或者是否有最佳值的某个甜蜜点? – user2427671

+0

@ user2427671这实际上是一个试验和错误,图片的半径为60px可能会更好,尽管您可能需要增强渐变效果。一个反差拉伸,否则你会太多水。它也取决于您用于派生背景配置文件的算法。现在没有太多的时间,会很快回复你! –

+0

@ user2427671添加一个可能的替代方案(CLAHE)来回答。注释? –

4

我想指出这篇文章:http://www.cs.berkeley.edu/~ravir/dirtylens.pdf,但在我看来,没有任何形式的校准/比较图像采用先验,很难从喇叭形图像中挖掘出真实情况。但是,如果您试图仅将图像减去镜头光晕,忽略喇叭部分背后的实际科学数据,则切换到图像修复的区域。 Criminsi的算法,如本文所述:http://research.microsoft.com/pubs/67276/criminisi_tip2004.pdf并在这两个链接中进行了解释/简化:http://cs.brown.edu/courses/csci1950-g/results/final/eboswort/http://www.cc.gatech.edu/~sooraj/inpainting/,将在恢复纹理信息到爆发区域方面做得非常好。 (如果你真的想追求这种方法,那就提一下,可以提供更全面的帮助)。

但是,鉴于我们正在处理微观数据,我怀疑您是否想要丢失图像特定区域中包含的科学数据。在那种情况下,我真的认为你需要找到一种解决方法来确定你使用的镜头闪光/光源的闪光模型。

我希望别人可以在这方面多说一些。

+0

上传:分享图片 – metsburg

+0

不幸的是我不能从img中挖出任何东西。我必须保持一切完好,并删除人造光 – user2427671