Гистограмма CMYK/RGB - некорректный перевод из CMYK в RGB - C#
Формулировка задачи:
Возникла проблема с правильностью перевода из RGB в CMYK. Все переменные до самого конца - double, но при этом расчёты будто ведёт пьяный Вася, а не точный компьютер. Совершенно странные числа, совсем не по моим формулам.
Помогите разобраться, где ошибка в расчётах.
За формулу перевода использовал формулы: http://www.easyrgb.com/index.php?X=MATH&H=13#text13
Прикрепил также полную версию проекта.
color = img.GetPixel(i, j); double Rt = color.R; double Gt = color.G; double Bt = color.B; double Ccount = 1.00 - (Rt / 255); double Mcount = 1.00 - (Gt / 255); double Ycount = 1.00 - (Bt / 255); double var_K = 1; if (Ccount < var_K) var_K = Ccount; if (Mcount < var_K) var_K = Mcount; if (Ycount < var_K) var_K = Ycount; if (var_K == 1) { Ccount = 0; Mcount = 0; Ycount = 0; var_K = 100; } if (var_K != 1) { Ccount =((Ccount - var_K) / (1 - var_K)) * 100; Mcount =((Mcount - var_K) / (1 - var_K)) * 100; Ycount =((Ycount - var_K) / (1 - var_K)) * 100; var_K = var_K * 100; } C[Convert.ToInt32(Ccount)]++; M[Convert.ToInt32(Mcount)]++; Y[Convert.ToInt32(Ycount)]++; K[Convert.ToInt32(var_K)]++; }
Решение задачи: «Гистограмма CMYK/RGB - некорректный перевод из CMYK в RGB»
textual
Листинг программы
Сcount =((Ccount - var_K) / (1 - var_K)) * 100; Mcount =((Mcount - var_K) / (1 - var_K)) * 100; Ycount =((Ycount - var_K) / (1 - var_K)) * 100; var_K = var_K * 100;
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д