【问题标题】:Equalize contrast and brightness across multiple images均衡多个图像的对比度和亮度
【发布时间】:2016-06-08 13:00:26
【问题描述】:

我有大约 160 张图片用于实验。然而,与其他图像相比,一些图像具有明显不同的亮度和对比度。例如,我有如下两张图片:

我想在亮度和对比度方面均衡两张图片(可能会在中间找到某个级别,而不是将一张图片等同于另一张图片 - 尽管如果这样可以让事情变得更容易,这可能是可以的)。有人会对如何解决这个问题有任何建议吗?我不太熟悉 Matlab 中的图像分析,所以如果出现后续问题,请多多包涵。 Equalizing luminance, brightness and contrast for a set of images 的问题已经在这里了,但代码对我来说没有多大意义(由于我缺乏在 Matlab 中处理图像的经验)。

目前,我使用 Gimp 来处理图像,但使用 160 张图像非常耗时,而且仅凭主观的眼睛判断也不是很可靠。谢谢!

【问题讨论】:

  • 可能histeq command对你有帮助。
  • 我试过了,但结果因一张照片而异。
  • 双重检查:当你尝试过时,你是否使用了预先设置的直方图;具有强度值的等距箱的预设计数? "... 转换强度图像I,以便输出强度图像Jlength(hgram) 箱的直方图近似匹配hgram"
  • dfri,我没有使用预设的直方图。抱歉,这似乎是一个基本问题,但您介意告诉我该怎么做吗?
  • 不,我没有。但我的一位实验室同事最近正在研究这个。我会和她核实一下她是怎么做到的。

标签: image matlab image-processing brightness contrast


【解决方案1】:

您可以使用histeq 执行直方图规范,其中算法将尽力使目标图像与源图像的强度分布/直方图相匹配。这也称为histogram matching and you can read up about it on my previous answer

实际上,两张图像之间的强度分布应该是相同的。如果您想使用histeq 来利用这一点,您可以指定一个附加参数来指定目标直方图。因此,输入图像会尝试将自身与目标直方图匹配。假设您将图像存储在 im1im2 中,这样的事情会起作用:

out = histeq(im1, imhist(im2));

但是,imhistmatch 是更好用的版本。这几乎与您调用histeq 的方式相同,只是您不必手动计算直方图。您只需指定实际图像以匹配自身:

out = imhistmatch(im1, im2);

这是一个使用您的两张图片的运行示例。请注意,我将选择使用imhistmatch。我直接从 StackOverflow 读取两张图像,执行直方图匹配,以便第一张图像与第二张图像在强度分布上匹配,我们在一个窗口中显示此结果。

im1 = imread('http://i.stack.imgur.com/oaopV.png');
im2 = imread('http://i.stack.imgur.com/4fQPq.png');
out = imhistmatch(im1, im2);
figure;
subplot(1,3,1);
imshow(im1);
subplot(1,3,2);
imshow(im2);
subplot(1,3,3);
imshow(out);

这是我得到的:

请注意,现在第一张图片在分布上或多或少与第二张图片匹配。

我们也可以翻转它,将第一张图片作为来源,然后我们可以尝试将第二张图片与第一张图片匹配。只需用imhistmatch翻转两个参数即可:

out = imhistmatch(im2, im1);

重复上面的代码显示图形,我得到了这个:

这看起来更有趣一些。第二张图的眼睛的形状我们肯定能看出来,有些五官比较明显。


因此,您最终可以做的是选择具有最佳亮度和对比度的良好代表性图像,然后循环遍历其他每个图像并使用此源图像作为参考每次调用imhistmatch以便其他图像将尝试将它们的强度分布与该源图像相匹配。我真的无法为此编写代码,因为我不知道您如何在 MATLAB 中存储这些图像。如果你分享其中的一些代码,我很乐意写更多。

【讨论】:

  • Rayryeng,非常感谢您的帮助!这当然解决了部分问题,但图像质量似乎确实受到了影响。我还在:mathworks.com/matlabcentral/fileexchange/… 找到了一个潜在的解决方案,如果可行,我将在此处发布。
猜你喜欢
  • 2012-12-03
  • 2012-05-20
  • 2012-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-02
  • 1970-01-01
相关资源
最近更新 更多