Настройка яркости и контрастности индексированных изображений

Я меняю яркость изображения для индексированного изображения в MATLAB. Для этого я создал m, матрицу 3x256 единиц, затем умножил ее на число, затем добавил m к x (карте для моего изображения). Теперь мой вопрос, как вернуть единицу, если результат больше единицы.

[im3,x]=imread('corn.tif');
m=ones(256,3)
m=m.*50
[im33 c]=deal(im3,x+m) 

person E. Zahra    schedule 02.11.2019    source источник
comment
@CrisLuengo я меняю яркость изображения для индексированного изображения в Matlab, для этого я создал матрицу ma 3 * 256 единиц, затем я умножаю на число, затем добавляю m к x (карта для моего изображения), теперь мой вопрос, как вернуть единицу, если результат больше, чем один   -  person E. Zahra    schedule 02.11.2019


Ответы (1)


Установка значений в массиве x больше, чем значение от a до a, по-разному называется фиксацией, отсечением или насыщением. Самый простой способ — использовать min:

x = min(x,a);

Например, учитывая вашу цветовую карту x:

[im3,x] = imread('corn.tif');

subplot(1,2,1)
imshow(im3,x)

x = x + 0.2;
x = min(x,1);

subplot(1,2,2)
imshow(im3,x)
person Cris Luengo    schedule 03.11.2019