OpenCVSharp 笔记16 图像像素值统计

    #region  图像像素值统计      
        static void Main(string[] args)
        {
            double minVal;
            double maxVal;
            Point minLoc;
            Point maxLoc;
       
            Mat src = Cv2.ImRead("lenna.png", ImreadModes.AnyColor);
            Cv2.ImShow("src", src);
            Mat[] mats = Cv2.Split(src);
            for (int i = 0; i < mats.Length; i++)
            {
                Cv2.MinMaxLoc(mats[i], out minVal, out maxVal, out minLoc, out maxLoc);
                Console.WriteLine("通道{0}:最小值 {1}  最大值 {2}  最小值坐标 ({3},{4}) 最大值坐标 ({5},{6})",i, minVal, maxVal, minLoc.X, minLoc.Y, maxLoc.X, maxLoc.Y);
            }

            Scalar Mean , Stddev;
            Mat mat = new Mat(src.Size(), src.Type(),new Scalar(20,100,150));
            Cv2.MeanStdDev(mat, out Mean, out Stddev);
            Console.WriteLine("平均值:{0}", Mean.ToString());
            Console.WriteLine("方差:{0}", Stddev.ToString());

            Cv2.WaitKey();
            Cv2.DestroyAllWindows();
        }
    #endregion

运行结果:
OpenCVSharp 笔记16 图像像素值统计_第1张图片
不知为什么三通道图像平均值和方差计算完之后返回的Scalar对象是四通道的,目前原因还不得而知

你可能感兴趣的:(OpenCVSharp 笔记16 图像像素值统计)