如何移动图像的直方图

时间:2019-01-29 08:15:27

标签: matlab image-processing histogram

我正在尝试通过直方图移位来更改灰度图像的亮度。因此,我需要将下边界设置为25,将上边界设置为225,然后将直方图偏移+50。我该怎么办?

我尝试了imcontrast,但它并不是直方图偏移。

应用此变换后,灰度图像应偏移+50(即,如果像素的灰度值是75,则在变换后它将变为125。具有20或250的像素)因为下边界是25,上边界是225,所以将不包括在内。)

flower = imread('FlowerN.jpg');
gray = rgb2gray(flower);
for i=1:length(gray)
    i>25 AND i<225
    i = i+50
end

1 个答案:

答案 0 :(得分:1)

要移动图像的直方图,应将所有像素值更改相同的量:

gray = gray + 50;

如果gray的类型为uint8,则此加法运算将使用饱和算术,这意味着超过255的任何结果将以255为上限。即,uint8(240) + 50 == uint8(255)