У меня есть эта задача для обмена цветами на изображении.Манипуляция цветом
Изменение красного до синего Изменение синего к зеленому и изменению зеленого на красный
Пользователь вводит изображение, а на выходе будет отображаться изображение ж/поменять местами цвета.
Мне дали подсказку для преобразования RGB в HSI. Но все же ... Я не понимаю, как это сделать. Какие шаги следует предпринять, чтобы сделать эту задачу возможной? Ниже приведена формула для преобразования RGB в HSI Спасибо. :)
Уравнения для преобразования значений RGB в значения HSI Предположим, что R, G и B являются красными, зелеными и синими значениями цвета. Интенсивность HSI задается уравнением
I = (R + G + B)/3.
Пусть теперь М минимальное значение среди R, G и В. HSI значение насыщенности цвета задается уравнением
S = 1 - m/I if I > 0, or
S = 0 if I = 0.
К преобразовать общий оттенок цвета в, H, чтобы угол измерение, использовать следующие уравнения:
H = cos-1[ (R - ½G - ½B)/√R² + G² + B² - RG - RB - GB ] if G ≥ B, or
H = 360 - cos-1[ (R - ½G - ½B)/√R² + G² + B² - RG - RB - GB ] if B > G,
где выход обратных косинусный в градусах.
Если возможно, я бы загрузил исходное изображение в виде растрового изображения RGB в память, создаю другое растровое изображение в памяти и скопировал/заменил значения RGB, как описано. Затем сохраните и/или покажите новое изображение. Но я, вероятно, беру первые три строки вашего вопроса слишком буквально. (У меня есть функция, которая преобразует изображение на экран в печатаемое изображение, которое меняет черный/белый (черный BG на экране), а также пару других цветов.) –
Я предполагаю, что вам необходимо сохранить оригинальные интенсивности цвета, потому что в противном случае не было бы смысла скрывать от RGB до HSI. Возможно, вы должны уточнить это в своем вопросе. – Michael
Хмм ... да, я думаю, что преобразование HSI было ложным намеком. Я попытался переставить значения RGB. но это просто дало мне черно-белое изображение. У меня уже исчерпаны функции, используемые для обмена значениями RGB и получения цветного вывода с измененными цветами, а не с изображением BW. – Abby