【问题标题】:Get maximum HSV values from image in emguCV从 emguCV 中的图像中获取最大 HSV 值
【发布时间】:2017-08-14 18:33:10
【问题描述】:

我正在尝试从使用 emguCV 在 C# 中转换为 hsv 的图像中获取色调、饱和度和值的最大值。在 openCV 中我可以使用 Vec3b 但如何在 c# 中获得相同的效果?

【问题讨论】:

    标签: c# emgucv hsv


    【解决方案1】:

    我不确定是否有直接的等价物。如果您想要每个通道的最大值,您可以将 HSV Mat 分成 3 个通道,然后执行 GetRangeValue,它应该返回每个通道的最大值和最小值。

        Mat orig = new Mat(@"C:\Users\Public\Pictures\Sample Pictures\Koala.jpg", ImreadModes.Color);
    
        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();
    
            Console.WriteLine(string.Format("Max H {0} Min H {1}", H.Max, H.Min));
            Console.WriteLine(string.Format("Max S {0} Min S {1}", S.Max, S.Min));
            Console.WriteLine(string.Format("Max V {0} Min V {1}", V.Max, V.Min));
    
            MCvScalar mean = CvInvoke.Mean(hsv);
            Console.WriteLine(string.Format("Mean V {0} Mean S {1} Mean V {2} ", mean.V0, mean.V1, mean.V2)); ;
        }
    

    道格

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 2018-08-13
      • 2018-12-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多