Matlab图像(亮度变换与线性滤波)

如今,很多人都喜欢摄影。当然也有很多人喜欢对图像进行处理,使图像具有别样的味道。其中用到了很多知识,那现在我就向大家介绍一下简单的图像数字处理。

众所周知,我们的计算机储存图像信息,用到的是一个矩阵。

1:对于黑白图像来说,这是一个二维矩阵。矩阵里面值的大小是0-256之间的unit8格式数字。

2:对于彩色图像,存储时用到的是RGB三原色。也就是用这三种颜色组合来显示这个彩色图像

3:二值图像,这是最简单的二维矩阵构成的图像,仅仅有0和1构成,每个像素只有两种可能性:黑(0)和白(1)。这是绝对的“黑白分明”的图像。比较适合文字,线条图的扫描和储存。

4:索引图像:索引图由两部分构成,数据矩阵和彩色映射矩阵map。由于索引矩阵平时用到的不多,在此不多做介绍。

一:亮度变换

1:亮度转换的意思是直接对图像像素进行处理。用到的是一个非常简单的公式:

         g(x,y)=T{f(x,y)};

其中f(x,y)代表的是原图像,x,y分别代表行数和列数。T代表队图像进行处理的操作符。代表的是一个简单的映射关系。

        g=imadjust(f,[low_in,hing_in],[low_out,high_out],gamma)

这是专用于这项工作的函数,其中的亮度映射关系如下,

[low_in,high_in]---->   [low_out,high_out]。gamma作用是调节权值。

下面我给大家举一个例子,下面就是代码和实现效果

warning off
f=imread('tiger.jpg');
g1=imadjust(f,[0;0.2],[1;0]);
subplot(2,2,1);
imshow(g1);
g2=imadjust(f,[0;1],[1;0]);
subplot(2,2,2);
imshow(g2);
g3=imadjust(f,[0;1],[0.5;0]);
subplot(2,2,3);
imshow(g3);
g4=imadjust(f,[0;0.3],[1;0.4]);
subplot(2,2,4);
imshow(g4);

 

 

2:线性空间滤波器

空间滤波器可以去掉图像的噪声,处理被污染的图像,比较常见的是拉普拉斯滤波器,使用拉普拉斯滤波器增强图像的基本公式如下

       

其中倒三角表示拉普拉斯算子,比较复杂,这里只介绍它的计算过程,

 

在矩阵中进行的就是这样的运算。下面举一个例子,用滤波器对模糊图像进行修复。

代码如下

f=imread('123.jpg'); %读取原图像
h1=fspecial('laplacian',0); %式(13.3)的滤波器,等价于式(13.5)中参数为0
g1=f-imfilter(f,h1); %中心为-4,c=-1,即从原图像中减去拉普拉斯算子处理的结果
h2=[1 1 1; 1 -8 1; 1 1 1]; %式(13.4)的滤波器
g2=f-imfilter(f,h2); %中心为-8,c=-1
subplot(1,3,1),imshow(f) %显示原图像
subplot(1,3,2),imshow(g1) %显示滤波器(13.3)修复的图像
subplot(1,3,3),imshow(g2) 

 

3:非线性滤波器:

      由于此内容需要占太长篇幅,下次单独列出一篇再讲吧!

 

另外本人还开设了个人公众号:JiandaoStudio ,会在公众号内定期发布行业信息,以及各类免费代码、书籍、大师课程资源。

 

                                            

扫码关注本人微信公众号,有惊喜奥!公众号每天定时发送精致文章!回复关键词可获得海量各类编程开发学习资料!

例如:想获得Python入门至精通学习资料,请回复关键词Python即可。

  • 2
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值