我是 Matlab 和图像处理的新手,我知道如果我的图像是,我们可以通过以下公式更改图像亮度I
newImg=imadjust(I, [low_in high_in], [low_out,high_out]);
它调整图像的所有像素值,但是我如何在图像的某些部分上做到这一点,就像我在图像中检测到人脸一样,现在我想改变它的亮度,我该如何使用imadjust
.
编辑
我在二进制掩码中检测到区域。
我做到了,请查看答案以及答案中的参考。
我是 Matlab 和图像处理的新手,我知道如果我的图像是,我们可以通过以下公式更改图像亮度I
newImg=imadjust(I, [low_in high_in], [low_out,high_out]);
它调整图像的所有像素值,但是我如何在图像的某些部分上做到这一点,就像我在图像中检测到人脸一样,现在我想改变它的亮度,我该如何使用imadjust
.
编辑
我在二进制掩码中检测到区域。
我做到了,请查看答案以及答案中的参考。
我做到了,
嗯,我想改变图像某些区域的亮度,我想要的区域是通过二进制掩码计算的mask
,所以我做到了,首先我简单地改变输入图像的亮度,然后像这样I
存储结果newImg
newImg = imadjust(I, [low_in high_in], [low_out,high_out]);
然后在我的原始图像上应用蒙版并存储这样的蒙版区域的newImg
值
I(mask) = newImg (mask);
我认为它内容丰富,不会让任何人感到厌烦,如果你们不激励我,那么我就无法学习,因为人们只是因为我在提问而关闭了我的线程,而且我正在为不同类型的项目使用相同的图像数据库。
%Suppose these are the coordinates of the rectangle in which the face is detected%
%You can do the following to adjust the brightness of that region
topLeft = 10;
topRight = 50;
bottomLeft = 50;
newImg = I;
newImg(topLeft:bottomLeft,topLeft:topRight) = imadjust(newImg(topLeft:bottomLeft,topLeft:topRight), [low_in high_in], [low_out,high_out]);