Я пишу программу обработки изображений, которая применяет эффекты через обработку пиксельных холстов HTML5. Я добился манипуляций с пикселами Thresholding, Vintaging и ColorGradient, но невероятно, что я не могу изменить контраст изображения! Я пробовал несколько решений, но я всегда получаю слишком много яркости в изображении и меньше контрастного эффекта , и я не планирую использовать какие-либо библиотеки Javascript, так как я пытаюсь добиться этих эффектов изначально.
Основной код манипуляции с пикселями:
var data = imageData.data;
for (var i = 0; i < data.length; i += 4) {
//Note: data[i], data[i+1], data[i+2] represent RGB respectively
data[i] = data[i];
data[i+1] = data[i+1];
data[i+2] = data[i+2];
}
Пример манипуляции с пикселями
Значения находятся в режиме RGB, что означает, что данные [i] - это красный цвет. Поэтому, если данные [i] = данные [i] * 2; яркость будет увеличена до двух раз для красного канала этого пикселя. Пример:
var data = imageData.data;
for (var i = 0; i < data.length; i += 4) {
//Note: data[i], data[i+1], data[i+2] represent RGB respectively
//Increases brightness of RGB channel by 2
data[i] = data[i]*2;
data[i+1] = data[i+1]*2;
data[i+2] = data[i+2]*2;
}
* Примечание. Я не прошу вас, ребята, выполнить код! Это будет просто услугой! Я прошу алгоритм (даже псевдокод), который показывает, как можно использовать контраст в пиксельных манипуляциях! Я был бы рад, если кто-то сможет обеспечить хороший алгоритм для Контрастности изображения в холсте HTML5.