【发布时间】:2021-11-24 19:48:26
【问题描述】:
我正在开发一种图像处理软件,用户可以在其中调整图像的亮度、对比度和局部对比度/“清晰度”。 使用 OpenCV 的 convertTo 调整亮度和对比度,使用 CLAHE 调整局部对比度。
我想知道对图像应用这些调整的顺序。对此有经验法则吗?更改顺序后,我得到了截然不同的结果,我在文档中找不到任何内容。
【问题讨论】:
标签: c++ image opencv image-processing computer-vision
我正在开发一种图像处理软件,用户可以在其中调整图像的亮度、对比度和局部对比度/“清晰度”。 使用 OpenCV 的 convertTo 调整亮度和对比度,使用 CLAHE 调整局部对比度。
我想知道对图像应用这些调整的顺序。对此有经验法则吗?更改顺序后,我得到了截然不同的结果,我在文档中找不到任何内容。
【问题讨论】:
标签: c++ image opencv image-processing computer-vision
其实这个问题的答案就在这些术语的定义之内。
亮度:亮度与每个像素的指标值直接相关。当接近 255(白色)时,一个像素(图像也是如此)变得更亮,而当接近 0(黑色)时,相反地变得更暗。每个像素的这种增加或减少是通过对每个像素添加或减去一个常数来完成的。
对比度:在亮度中我们谈到了为每个像素添加一个常数,这里我们讨论的是每个像素与一个常数相乘。这会在整个图像中的像素之间产生间隙。
CLAHE:我认为 CLAHE 比 Histogram Equalization 更聪明。一些图像的像素数分布在0-255之间的狭窄区间内。要将这个区域扩大到整个区间(0-255),CLAHE就是工具。
如果我们回到您的问题:
注意:根据我的经验,CLAHE 主要用于预处理步骤。在两种情况下都可以设置少量的亮度和对比度,但在大量更改时我更喜欢在 CLAHE 之后设置。
【讨论】: