У меня есть два графических блока для ввода и вывода, и я хочу преобразовать их из RGB в HSV (изображение слева - rgb, изображение справа - hsv):
![image on left is rgb, image on right is hsv](https://i.stack.imgur.com/jyQB2.png)
, но в этом случае я использую библиотеку Emgu.cv
Я хочу сделать конвертацию приложения, используя код вычисления C # вручную, например
private double[] getHSV(double nilaiR, double nilaiG, double nilaiB)
{
double[] hsv = new double[3];
double rAksen = 0, gAksen = 0, bAksen = 0, delta = 0, cMax = 0, cMin = 0, nilaiH = 0, nilaiS = 0, nilaiV = 0;
rAksen = nilaiR / 255;
gAksen = nilaiG / 255;
bAksen = nilaiB / 255;
cMax = Math.Max(rAksen, Math.Max(gAksen, bAksen));
cMin = Math.Min(rAksen, Math.Min(gAksen, bAksen));
delta = cMax - cMin;
//getH
if (delta == 0)
{
nilaiH = 0;
}
else if (cMax == rAksen)
{
nilaiH = 60 * (((gAksen - bAksen) / delta) % 6);
}
else if (cMax == gAksen)
{
nilaiH = 60 * (((bAksen - rAksen) / delta) + 2);
}
else if (cMax == bAksen)
{
nilaiH = 60 * (((rAksen - gAksen) / delta) + 4);
}
//getS
if (cMax == 0)
{
nilaiS = 0;
}
else
{
nilaiS = delta / cMax;
}
//getV
nilaiV = cMax;
hsv[0] = nilaiH < 0 ? Math.Round((360 + nilaiH), 2) : Math.Round(nilaiH, 2);
hsv[1] = Math.Round((nilaiS * 100), 2);
hsv[2] = Math.Round((nilaiV * 100), 2);
return hsv;
}
, но как этот код можно выполнить одним щелчком мышикнопку и показать значение HSV в представлении таблицы данных?
Буду признателен, если вы мне поможете.