MATLAB数字图像处理平时作业——集成滤镜

制作了一个集成滤镜的matlabAPP。所谓集成滤镜,就是可以在同一个界面中切换不同的滤镜,并调整对应的参数。该作业老师点评为高分作业。

首先进行界面展示

图1
图1 未选择图像文件时的初始界面

初始界面如上图所示,其中最上方的区域为处理后的图像显示的区域,最下方的区域为原图像显示的区域,用于与处理后的图像进行对比来突出处理效果。左侧第一个按钮“选择图像”在按下之后会跳出选择图像文件的界面,中间的“选择滤镜”下拉条点击之后会展开滤镜列表,可以在这边选择一个想要的滤镜,右侧“生成图像”按钮在点击之后会根据选择的滤镜和对应的参数进行图像处理,并将处理后的结果生成在最上方的区域中。

图2 选择图像文件之后的界面

选择好图片文件之后的界面如上图所示,不多赘述。

图3 滤镜列表展示

 点击“选择滤镜”下拉菜单之后的界面如上图所示,共计五个滤镜,分别为无滤镜老照片动态模糊二值手动调节。每个滤镜具体的效果将依次进行展示。

图4 老照片效果展示

老照片滤镜效果如上图所示,主要就是为照片添加一层噪点效果并进行调色处理。在该滤镜下,可以通过左侧的“噪点”滑动条来调整噪点的效果。

图5 动态模糊效果展示

 动态模糊滤镜效果如上图所示,这里本来是打算做一个matlab目前提供的所有模糊效果的集合,但其余几个在调试的时候bug频出,就先只做动态模糊的滤镜了。如图,这里可以调节两个参数,分别是动态模糊的程度与方向,程度是控制模糊的力度,程度越大,力度越大,物体被扭曲的效果就越强烈;方向是通过角度来调节的,不同的角度对应的就是不同的方向效果。

图6 二值效果展示

二值滤镜效果如上图所示,原理简单来说就是选择一个0-255之间的数值,对原图进行处理,先进行灰度化,之后每个像素点高于该值的就更新为255,反之更新为0,最终实现二值效果。左侧滑块可以调整这个选定的阈值,不同的阈值可以展现出不同的效果,还是蛮有趣的。右下角可以调整是黑白二值还是彩色二值,这里是黑白二值,随后展示一下彩色二值的效果。

图7 彩色二值效果展示

这里就是彩色二值的效果了,原理与上面一致,不过是对三个通道分别进行处理的,最后将三个通道整合起来实现的效果,有时候合理的阈值搭配能够产生奇效哦~

图8 手动调节效果展示

手动调节滤镜效果如上图所示,这里我提供了四个可以调节的参数,分别是亮度对比度饱和度锐度,也是比较传统的几个参数了,具体实现的效果就跟平时手机上调节的效果一致,按照需求进行调节就可以了。 

下面对滤镜部分的代码进行一下简单说明。

无滤镜

没有添加任何滤镜,也就是直接将原图显示在对应区域。

老照片滤镜

图9 老照片滤镜代码

我使用了imnoise函数来添加噪声,选择的是“speckle”噪声以及一个参数来控制噪点效果。简单调整了一下对比度,随后创建了一个复古色调映射的矩阵,这个色调是我从网上参考的。再接下来的两个for循环中,我将调整了对比度后的灰度图像与这个矩阵相结合,将其映射上去,通过sepiaTone矩阵乘以灰度的向量,产生复古色调的效果。 

动态模糊滤镜

图10 动态模糊滤镜代码

我使用fspecial函数实现模糊效果,并通过两个参数简单控制它的程度和方向。 

二值滤镜

图11 二值滤镜代码

这里分了两种情况,一种是黑白二值的,还有一种是分别对RGB三种颜色进行处理。方法其实很简单,就是判断图上的每一个像素点与我设置的limit大小关系。大于limit就设置为255,小于limit就设置为0. 

手动调节滤镜

图12 手动调节滤镜代码

这里包含了四个可以调节的点,分别是亮度、对比度、饱和度和锐度。如图,都是挺基础的代码。锐度的调节我选择的是拉普拉斯滤波器,通过两个参数的设置来增强它的边缘。 

大概就是这样。整个制作过程比较费心思的地方在于app界面的设计以及各个组件之间的协作关系,算法代码倒并没有想象中的那么难。本文提供的几段代码主要提供思路和辅助说明,完整的app代码在GitHub里放出,喜欢的帮我点个star哦~

https://github.com/Jiukuang/MATLAB/blob/main/Multifunctional_app.mlapp

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值