Win8Metro(C#)数字图像处理--2.32图像曝光算法

Win8Metro(C#)数字图像处理--2.32图像曝光算法
原文: Win8Metro(C#)数字图像处理--2.32图像曝光算法



[函数名称]

图像曝光函数ExposureProcess(WriteableBitmap src,int exposureValue) 

Win8Metro(C#)数字图像处理--2.32图像曝光算法_第1张图片

[函数代码]

        /// 

        /// Exposure process.

        /// 

        /// Source image.

        /// To adjust exposure lavel, from 0 to 255.

        /// 

        public static WriteableBitmap ExposureProcess(WriteableBitmap src,int exposureValue)////35图像曝光

        {

            if (src != null)

            {

                int w = src.PixelWidth;

                int h = src.PixelHeight;

                WriteableBitmap exposureImage = new WriteableBitmap(w, h);

                int r=0,g=0,b=0;

                byte[] temp = src.PixelBuffer.ToArray();

                for (int i = 0; i < temp.Length; i += 4)

                {

                    byte tempByte = (byte)((int)(temp[i] * 0.114 + temp[i + 1] * 0.587 + temp[i + 2] * 0.299));

                    b = temp[i];

                    g = temp[i + 1];

                    r = temp[i + 2];

                    if (tempByte < 128)

                    {

                        temp[i] = (byte)(255 - b);

                        temp[i + 1] = (byte)(255 - g);

                        temp[i + 2] = (byte)(255 - r);

                    }

                }

                Stream sTemp = exposureImage.PixelBuffer.AsStream();

                sTemp.Seek(0, SeekOrigin.Begin);

                sTemp.Write(temp, 0, w * 4 * h);

                return exposureImage;

            }

            else

            {

                return null;

            }         

        }

[图像效果]

Win8Metro(C#)数字图像处理--2.32图像曝光算法_第2张图片

posted on 2018-03-13 10:24 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/8554347.html

你可能感兴趣的:(Win8Metro(C#)数字图像处理--2.32图像曝光算法)