#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
运行结果:
不知为什么三通道图像平均值和方差计算完之后返回的Scalar对象是四通道的,目前原因还不得而知