C#图片处理之:Gamma校正

本文介绍了一种基于Gamma校正的图像处理算法,通过调整Gamma值来改变图像的亮度,适用于增强图像对比度和视觉效果。该算法通过修改输入Bitmap的Gamma值实现图像明暗度的调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 gamma值是用曲线表示的,这是一种人的眼睛对光的一种感应曲线,其中包括了物理量、身理感官及心理的感知度。

 1        /// <summary>
 2        /// Gamma校正
 3        /// </summary>
 4        /// <param name="bmp">输入Bitmap</param>
 5        /// <param name="val">[0 <-明- 1 -暗-> 2]</param>
 6        /// <returns>输出Bitmap</returns>

 7        public static Bitmap KiGamma(Bitmap bmp, float val)
 8        {
 9            if (bmp == null)
10            {
11                return null;
12            }

13
14            // 1表示无变化,就不做
15            if (val == 1.0000freturn bmp;
16
17            try
18            {
19                 Bitmap b = new Bitmap(bmp.Width, bmp.Height);
20                Graphics g = Graphics.FromImage(b);
21                ImageAttributes attr = new ImageAttributes();
22
23                attr.SetGamma(val, ColorAdjustType.Bitmap);
24                g.DrawImage(bmp, new Rectangle(00, bmp.Width, bmp.Height), 00, bmp.Width, bmp.Height, GraphicsUnit.Pixel, attr);
25                g.Dispose();
26                return b;
27            }

28            catch
29            {
30                return null;
31            }

32        }

转载于:https://www.cnblogs.com/xuneng/archive/2008/03/10/1098619.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值