当前位置: 代码迷 >> C# >> 一幅灰度图像,怎么快速得到总灰度值大小
  详细解决方案

一幅灰度图像,怎么快速得到总灰度值大小

热度:51   发布时间:2016-05-05 03:45:14.0
一幅灰度图像,如何快速得到总灰度值大小
一幅灰度图像,如何快速得到总灰度值大小和总像素点个数
------解决思路----------------------
        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 };
        }
  相关解决方案