📜  OpenCV |了解图像的亮度

📅  最后修改于: 2021-05-30 17:14:58             🧑  作者: Mango

在OpenCV中,更改图像的亮度是执行的非常基本的任务。通过改变图像亮度,意味着改变每个图像像素的值。可以通过以任何常数增加或减少图像的像素值来完成此更改。

增加图像的亮度,只需向每个图像像素添加一个恒定的正值即可。

类似地,如果希望降低图像的亮度水平,则为每个图像像素减去一个恒定的正值。

让我们通过将以下提到的矩阵作为像素值在0到255之间的图像矩阵作为假设,并假设该图像的数据类型为CV_8UC3

增加亮度:

所以。假设我们希望将图像亮度增加60,然后将60增加到每个图像像素值,但是严格禁止超出像素范围,即允许的最大限制为255,并且我们的像素值不应增加255。如果在任何情况下,此图像像素值都超过255,则应仅为其提供最大允许值,而不是新增加的值。

输入 :

输出(将图像像素值增加60后):

让我们检查下面给出的图像矩阵,我们将这个值增加了60,但是像素值“ 255”没有增加到260,因为我们将60加到200,应该是260,但这在这里没有发生,因为最大图像像素此图片中的value允许为255。

降低亮度:

在这里,我们将像素值减少20,并从输入图像的每个图像像素中减去20,但是唯一重要的是任何像素的值都不应低于最小允许像素。

输出(将图像像素值减小20后):

如我们的输出图像中所示,亮度降低了20,并且在位置(0,0)处,像素值等于0,但更早的时候该值是12。因为从12中减去20将得到负像素值(这可以不可能)。因此,图像像素值设置为0。