一幅灰度图像,如何快速得到总灰度值大小

有时想起 2015-05-08 12:58:14
一幅灰度图像,如何快速得到总灰度值大小和总像素点个数
...全文
338 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Trent1985 2015-05-08
  • 打赏
  • 举报
回复
上述代码返回一个int数组,第一个元素是像素个数,第二个是平均灰度值。别忘了给分哦!!
Trent1985 2015-05-08
  • 打赏
  • 举报
回复
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 }; }
有时想起 2015-05-08
  • 打赏
  • 举报
回复
我现在的方法:

 public static int getAverageGrayValue(Bitmap bmp)
        {
            int average = 0;
            for (int i = 0; i < bmp.Width; i++)
            {
                for (int j = 0; j < bmp.Height; j++)
                {
                    Color color = bmp.GetPixel(i, j);
                    average += color.B;
                }
            }
            average = (int)average / (bmp.Width * bmp.Height);
            return average;
        }

111,096

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧