Я хочу изменить яркость изображения. Вот код, который я использовал.
rgbImage = imread('C:\Users\AHII\Desktop\IEEE\Original\01.jpg');
hsvImage = rgb2hsv(rgbImage);
hChannel = hsvImage(:, :, 1);
sChannel = hsvImage(:, :, 2);
vChannel = hsvImage(:, :, 3);
%newS = (5) * sChannel;
%newS = sChannel / (0.5) ;
%newS = (-0.5) * sChannel;
newHSVImage = cat(3, hChannel, newS, vChannel);
newRGBImage = hsv2rgb(newHSVImage);
В части кода, которую я сделал в качестве команды, есть три шаблона. Я не знаю, как правильно использовать. Мне нужно получить десять изображений с разным уровнем яркости. Есть ли уровень диапазона для newS? В настоящее время я использую 0,5–2,5 с интервалом шага 0,5, например, 0,5, 1,0, 1,5, а также минусовые значения, такие как -0,5, -1,0 и т. д. Я тоже видел этот код, когда проверял.
hsvImage = rgb2hsv(rgbImage);
hChannel = hsvImage(:, :, 1);
sChannel = hsvImage(:, :, 2);
vChannel = hsvImage(:, :, 3);
meanV = mean2(vChannel);
newV = meanV + 0.5 * (vChannel - meanV);
newHSVImage = cat(3, hChannel, sChannel, newV);
newRGBImage = hsv2rgb(newHSVImage);
Итак, это канал V или канал S для яркости и, пожалуйста, прокомментируйте значение коэффициента, которое используется, и его диапазон.
0.7
станет1.4
. Это больше, чем 1, верхний предел. ПараметрnewV = min(newV,1)
обрезает любые значения выше 1 до 1. - person Cris Luengo   schedule 15.01.2018