Как извлечь гистограмму ВПГ из изображения. [EmguCV]
Я делаю проект, в котором я хочу повторно идентифицировать человека, основываясь на его мягких особенностях, таких как цвет ткани. Поэтому я хочу получить гистограмму HSV и RGB их изображений и сравнить ее позже, чтобы проверить, является ли это один и тот же человек.
Код, который я сделал до сих пор:
//This is small part of the project
float[] hueHists=new float[255];
float[] satHists = new float[255];
DenseHistogram dh = new DenseHistogram(255, new RangeF(0, 255));
DenseHistogram dh2 = new DenseHistogram(255,new RangeF(0, 255));
Image<Hsv, byte> hsvImage = image.Convert<Hsv, byte>();
for (int i = 0; i < 8; i++)
{
hsvImage.ROI = new Rectangle(0, i * 16, 64, 16);
Image<Gray, byte>[] channels = hsvImage.Copy().Split();
Image<Gray, byte> hue = channels[0];
Image<Gray, byte> sat = channels[1];
dh.Calculate<byte>(new Image<Gray, byte>[] { hue }, true, null);
dh2.Calculate<byte>(new Image<Gray, byte>[] { sat }, true, null);
float[] huehist = dh.GetBinValues();
float[] sathist = dh2.GetBinValues();
if(i==0)
{
huehist.CopyTo(hueHists,0);
sathist.CopyTo(satHists,0);
}
else
{
hueHists = hueHists.Concat<float>(huehist).ToArray<float>();
satHists = satHists.Concat<float>(sathist).ToArray<float>();
}
}
А также я должен извлечь гистограмму HSV и RGB полного изображения или извлечь после сегментации изображения.
[Редактировать] Я извлек гистограмму человека А и сопоставил ее с гистограммой других людей (чтобы проверить, является ли он / она персоной А или нет). Проблема заключается в точности. моя программа не может правильно найти того же человека. И я хочу спросить лучший способ сделать это...
Помощь от opencv лица также приветствуется
Заранееспасибо