QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码
微像素首页 图像处理 图像基础 查看内容
订阅

文章

图像基本变换---图像线性变换

发表时间:2016-5-9 22:54作者:bean 阅读(1154) 评论: 0

导读: 本文详细 介绍-图像线性变换算法及实现,并给出了一份完整程序DEMO下载链接,跟大家分享一下,希望大家喜欢!

图像线性变换即线性点运算,输出灰度级与输入灰度级呈线性关系的点运算。公式如2-(9)所示。

  其中,K,L为变换参数,k属于[0,5],L属于[-128, 128]

  如果k,则输出图像的对比度将增大,反之对比度将减小,k=1,L=0时,输出图像为输入图像的副本,L是对图像亮度的调整。

[函数代码]

        /// 

        /// Linear transform process(f=kf+v).

        /// 

        /// Source image.

        /// Parameter,from 0 to 5.

        /// Parameter,from -128 to 128.

        /// 

        public static WriteableBitmap LinearTransformProcess(WriteableBitmap src, double k,int v)////8 线性变换处理

        {

            if(src!=null )

            {

            int w = src.PixelWidth;

            int h = src.PixelHeight;

            WriteableBitmap linearImage = new WriteableBitmap(w,h);

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

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

            {

                temp[i] = (byte)(((k * temp[i] + v + 0.5) > 255 ? 255 : (k * temp[i] + v + 0.5)) < 0 ? 0 : ((k * temp[i] + v + 0.5) > 255 ? 255 : (k * temp[i] + v + 0.5)));

                temp[i+1] = (byte)(((k * temp[i+1] + v + 0.5) > 255 ? 255 : (k * temp[i+1] + v + 0.5)) < 0 ? 0 : ((k * temp[i+1] + v + 0.5) > 255 ? 255 : (k * temp[i+1] + v + 0.5)));

                temp[i+2] = (byte)(((k * temp[i+2] + v + 0.5) > 255 ? 255 : (k * temp[i+2] + v + 0.5)) < 0 ? 0 : ((k * temp[i+2] + v + 0.5) > 255 ? 255 : (k * temp[i+2] + v + 0.5)));

            }

            Stream sTemp = linearImage.PixelBuffer.AsStream();

            sTemp.Seek(0, SeekOrigin.Begin);

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

            return linearImage;

            }

            else

            {

                return null;

            }   

        }

[图像效果]

Fig.1原图


Fig.2效果图(k=4.0,v=64)


demo 下载: http://www.zealfilter.com/forum.php?mod=viewthread&tid=44&extra=page%3D1


鲜花

握手

雷人

路过

鸡蛋
上一篇:图像基础---二值图像的轮廓提取下一篇:图像基本变换---图像亮度对比度调增算法

最新评论

    联系我们
  • QQ:3243218172
  • 邮箱:3243218172@qq.com
  • QQ交流群:567648913
    手机扫描二维码