一幅灰度图像,如何快速得到总灰度值大小和总像素点个数
------解决思路----------------------
private int[]GetImgInfo(Bitmap a)
{
Bitmap src = new Bitmap(a);
int w = src.Width;
int h = src.Height;
BitmapData srcData = src.LockBits(new Rectangle(0, 0, w, h), ImageLockMode.ReadWrite, PixelFormat.Format32bppArgb);
byte* p = (byte*)srcData.Scan0;
int gray = 0;
for (int j = 1; j < h - 1; j++)
{
for (int i = 1; i < w - 1; i++)
{
gray += (p[0] + p[1] + p[2]) / 3;
p += 4;
}
p += srcData.Stride - w * 4;
}
gray = gray / (w * h);
src.UnlockBits(srcData);
return new int[] { w * h, gray };
}