首页 > 解决方案 > 如何从图像中获取 HSV 值

问题描述

我尝试获取 HSV、RGB 和 YCrCb 中每个通道的值我不知道我的 anwser 是真还是假。任何通道的范围是什么

        Mat orig = new Mat(@"D:\more-pic\m1.jpg", ImreadModes.Color);
        pictureBox1.Image = orig.Bitmap;
        Image<Bgr, byte> finalimg = new Image<Bgr, byte>(orig.Width, orig.Height);
          Image<Bgr, byte> finalimg1 = new Image<Bgr, byte>(orig.Width,    orig.Height);
           using (Mat hsv = new Mat())
           {
            CvInvoke.CvtColor(orig, hsv, ColorConversion.Bgr2Hsv);
            hsv.CopyTo(finalimg);
            pictureBox2.Image = finalimg.Bitmap;
            Mat[] channels = hsv.Split();

            RangeF H = channels[0].GetValueRange();
            RangeF S = channels[1].GetValueRange();
            RangeF V = channels[2].GetValueRange();
            label1.Text = "H.Min: " + H.Min.ToString();
            label2.Text = "S.Min: " + S.Min.ToString();
            label3.Text = "V.Min: " + V.Min.ToString();

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

标签: c#image-processingemgucvimage-conversion

解决方案


推荐阅读