Member 14129828 Ответов: 0

Получите оба значения max и min HSV с помощью emgucv


Я пытаюсь получить максимальные и минимальные значения HSV, но получаю один и тот же результат для любой картинки
в результате получается:
H:255
S:255
V:179

Я не знаю, что я должен сделать, чтобы получить хороший результат, и каков диапазон каждого компонента?
в Bgr каждый канал имеет max = 255

Что я уже пробовал:

private void button1_Click(object sender, EventArgs e)
        {

            Mat orig = new Mat(@"D:\pic\ SecondCamera2920.jpg", ImreadModes.Color);
            pictureBox1.Image = orig.Bitmap;
            

            using (Mat hsv = new Mat())
            {
                CvInvoke.CvtColor(orig, hsv, ColorConversion.Bgr2Hsv);
                
                Mat[] channels = hsv.Split();

                RangeF H = channels[0].GetValueRange();
                RangeF S = channels[1].GetValueRange();
                RangeF V = channels[2].GetValueRange();

                label1.Text = H.Min.ToString();
                label2.Text = S.Min.ToString();
                label3.Text = V.Min.ToString();

                label4.Text = H.Max.ToString();
                label5.Text = S.Max.ToString();
                label6.Text = V.Max.ToString();

            }
        }

0 Ответов