一些基于matlab的图像处理简单算法

合集下载

基于MATLAB 图像简单处理应用

基于MATLAB 图像简单处理应用

基于MATLAB 图像简单处理应用摘要:数字图像处理是一种通过计算机采用一定的算法对图形图像进行处理的技术。

数字图像处理技术已经在各个领域上都有了比较广泛的应用,图像处理的信息量很大,对处理速度的要求也比较高。

matlab强大的运算和图形展示功能,使数字图像处理变得更加的简单和直观。

该文介绍如何利用matlab及其图像处理工具箱进行图像灰度、亮度、截图和查找边缘效果处理,通过简单的例子来说明利用matlab图像处理工具箱及函数进行图像处理的方法。

关键词:matlab函数;图像处理;算法;工具箱;gui界面中图分类号:tp311 文献标识码:a 文章编号:1009-3044(2013)15-3610-041 图像编辑软件基本目标:加强对图像编辑的算法的理解和认识,利用matlab软件实现对图像灰度、亮度、截图以及查找边缘等操作,综合运用matlab工具箱实现图像处理的gui界面程序设计。

主要内容:学习matlab gui程序设计,利用matlab图像处理工具箱,实现图像编辑算法,动态演示算法的执行过程,设计和实现自己的图像编辑,该软件能实现以下功能:图像的打开和保存;设计图形用户界面,让用户通过菜单能够对图像进行亮度和灰度调整,显示和对比变换前后的图像;编写程序通过按钮的回调函数实现对图像截图以及查找边缘操作,并保存。

采用的方法和模型:在快速发展的信息社会,我们可以借助计算机,利用matlab软件图像处理工具箱来实现对数字图像进行处理,以达到不同的效果。

2 工具箱选择及常用函数介绍选用图像处理工具箱(image processing toolbox)。

常用的函数:1) imread 读入图像;2) uicontrol 建立并设置控件属性;3) axes 建立坐标系;4) imwrite或 uiputfile保存图像;5) uigetfile 文件打开对话框;6)imshow显示图像;7)close退出;8)imadjust 图像的亮度调整;9)rgb2gray图像的灰度调整;10)edge查找边缘;11)imcrop截图。

Matlab中的图像增强方法

Matlab中的图像增强方法

Matlab中的图像增强方法图像增强是数字图像处理中的一项重要技术,通过使用各种算法和方法,可以改善图像的质量、增加图像的信息量和清晰度。

在Matlab中,有许多强大而灵活的工具和函数,可以帮助我们实现图像增强的目标。

本文将介绍几种常用的Matlab图像增强方法,并探讨它们的原理和应用。

一、直方图均衡化直方图均衡化是一种常用的图像增强方法,通过调整图像的像素分布来增强图像的对比度和亮度。

在Matlab中,我们可以使用“histeq”函数来实现直方图均衡化。

该函数会根据图像的直方图信息,将像素的灰度值重新映射到一个均匀分布的直方图上。

直方图均衡化的原理是基于图像的累积分布函数(CDF)的变换。

它首先计算图像的灰度直方图,并根据直方图信息计算CDF。

然后,通过将CDF线性映射到期望的均匀分布上,将图像的像素值进行调整。

直方图均衡化的优点在于简单易实现,且效果较好。

但它也存在一些限制,比如对噪声敏感、全局亮度调整可能导致细节丢失等。

因此,在具体应用中,我们需要权衡其优缺点,并根据图像的特点选择合适的方法。

二、自适应直方图均衡化自适应直方图均衡化是对传统直方图均衡化的改进,它能够在改善对比度的同时,保持局部细节。

与全局直方图均衡化不同,自适应直方图均衡化采用局部的直方图信息来进行均衡化。

在Matlab中,我们可以使用“adapthisteq”函数来实现自适应直方图均衡化。

该函数会将图像分成小块,并在每个块上进行直方图均衡化。

通过这种方式,自适应直方图均衡化可以在增强图像对比度的同时,保留图像的细节。

自适应直方图均衡化的优点在于针对每个小块进行处理,能够更精确地调整局部对比度,避免了全局调整可能带来的细节丢失。

然而,相对于全局直方图均衡化,自适应直方图均衡化的计算量较大,因此在实时处理中可能会引起性能问题。

三、模糊与锐化图像增强不仅局限于对比度和亮度的调整,还可以改善图像的清晰度和边缘信息。

在Matlab中,我们可以使用一些滤波器来实现图像的模糊和锐化。

基于matlab对图像进行高通、低通、带通滤波

基于matlab对图像进行高通、低通、带通滤波

数字图像处理三级项目—高通、低通、带通滤波器摘要在图像处理的过程中,消除图像的噪声干扰是一个非常重要的问题。

利用matlab软件,采用频域滤波的方式,对图像进行低通和高通滤波处理。

低通滤波是要保留图像中的低频分量而除去高频分量,由于图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓;高通滤波是要保留图像中的高频分量而除去低频分量,所以高通滤波可以保留较多的边缘轮廓信息。

低通滤波器有巴特沃斯滤波器和高斯滤波器等等,本次设计使用的低通滤波器为****。

高通滤波器有巴特沃斯滤波器、高斯滤波器、Laplacian高通滤波器以及Unmask高通滤波器等等,本次设计使用巴特沃斯高通滤波器。

1、频域低通滤波器:设计低通滤波器包括 butterworth and Gaussian (选择合适的半径,计算功率谱比),平滑测试图像test1和2。

实验原理分析根据卷积定理,两个空间函数的卷积可以通过计算两个傅立叶变换函数的乘积的逆变换得到,如果f(x, y)和h(x, y)分别代表图像与空间滤波器,F(u, v)和H(u, v)分别为响应的傅立叶变换(H(u, v)又称为传递函数),那么我们可以利用卷积定理来进行频域滤波。

在频域空间,图像的信息表现为不同频率分量的组合。

如果能让某个范围内的分量或某些频率的分量受到抑制,而让其他分量不受影响,就可以改变输出图的频率分布,达到不同的增强目的。

频域空间的增强方法的步骤:(1)将图像从图像空间转换到频域空间;(2)在频域空间对图像进行增强;(3)将增强后的图像再从频域空间转换到图像空间。

低通滤波是要保留图像中的低频分量而除去高频分量。

图像中的边缘和噪声都对应图像傅里叶频谱中的高频部分,所以低通滤波可以除去或消弱噪声的影响并模糊边缘轮廓。

理想低通滤波器具有传递函数:其中D0为制定的非负数,D(u,v)为点(u,v)到滤波器中心的距离。

基于matlab的图像对比度增强处理的算法的研究与实现

基于matlab的图像对比度增强处理的算法的研究与实现

基于matlab的图像对比度增强处理的算法的研究与实现1. 引言1.1 研究背景图像对比度增强是数字图像处理中的一个重要领域,它能够提高图像的视觉质量,使图像更加清晰、鲜明。

随着现代科技的快速发展,图像在各个领域的应用越来越广泛,因此对图像进行对比度增强处理的需求也越来越迫切。

在数字图像处理领域,图像对比度增强处理是一种经典的技术,通过调整图像的灰度级范围,提高图像的对比度,使图像更加清晰和易于观察。

对比度增强处理可以应用于医学影像、卫星图像、照片修复等领域,有效提升图像质量和信息量。

随着数字图像处理算法的不断发展和完善,基于matlab的图像对比度增强处理算法也得到了广泛研究和应用。

通过matlab编程实现图像对比度增强处理算法,可以快速、高效地对图像进行处理,并进行实验验证和效果分析。

研究基于matlab的图像对比度增强处理算法的研究与实现具有重要的理论意义和实际应用价值。

1.2 研究目的研究目的是探索基于matlab的图像对比度增强处理算法,通过对比不同算法的效果和性能进行分析,进一步提高图像的清晰度和质量。

具体目的包括:1. 深入理解图像对比度增强处理的基本原理,掌握常用的算法和技术;2. 研究基于matlab的图像对比度增强处理算法实现的方法和步骤,探究其在实际应用中的优劣势;3. 通过实验结果与分析,评估不同算法在提升图像对比度方面的效果和效率;4. 对现有算法进行优化与改进,提出更加有效的图像对比度增强处理方法;5.总结研究成果,为今后进一步完善图像处理技术提供参考和借鉴。

通过对图像对比度增强处理算法的研究与实现,旨在提高图像处理的效率和质量,满足不同应用领域对图像处理的需求,促进图像处理技术的发展和应用。

1.3 研究意义对比度增强处理是图像处理领域中一项重要的技术,在实际应用中有着广泛的使用。

通过增强图像的对比度,可以使图像更加清晰、鲜明,提高图像的质量和观感效果。

对比度增强处理在医学影像分析、卫星图像处理、数字摄影等领域都有着重要的应用。

MATLAB课程设计(基于MATLAB的图像处理的基本运算)

MATLAB课程设计(基于MATLAB的图像处理的基本运算)

MATLAB课程设计(基于MATLAB的图像处理的基本运算)课程设计任务书学⽣姓名:专业班级:指导教师:⼯作单位:题⽬: 基于MATLAB的图像处理的基本运算初始条件①MATLAB软件②数字信号处理与图像处理基础知识要求完成的主要任务:(1)能够对图像亮度和对⽐度变化调整,并⽐较结果。

(2)编写程序通过最近邻插值和双线性插值等算法将⽤户所选取的图像区域进⾏放⼤和缩⼩整数倍的和旋转操作,并保存,⽐较⼏种插值的效果。

(3)图像直⽅图统计和直⽅图均衡,要求显⽰直⽅图统计,⽐较直⽅图均衡后的效果。

(4)对图像加⼊各种噪声,⽐较效果。

时间安排:第1周:安排任务,分组第2-17周:设计仿真,撰写报告第18周:完成设计,提交报告,答辩地点:鉴主3楼计算机实验室指导教师签名: 2010年⽉⽇系主任(或责任教师)签名: 2010年⽉⽇摘要MATLAB是—套⾼性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图形显⽰于⼀体,构成—个⽅便的、界⾯友好的⽤户环境。

MATLAB强⼤的扩展功能为各个领域的应⽤提供了基础,由各个领域的专家相继给出了MATLAB ⼯具箱,其中主要有信号处理,控制系统,神经⽹络,图像处助,鲁棒控制,⾮线性系统控制设计,最优化,⼩波,通信等⼯具箱,这此⼯具箱给各个领域的研究和⼯程应⽤提供了有⼒的⼯具。

借助于这些“巨⼈肩膀上的⼯具”,各个层次的研究⼈员可直现⽅便地进⾏分析、计算及设计⼯作,从⽽⼤⼤地节省了时间。

本次课程设计的⽬的在于较全⾯了解常⽤的数据分析与处理原理及⽅法,能够运⽤相关软件进⾏模拟分析。

通过对采集的图像进⾏常规的图像的亮度和对⽐度的调整,并进⾏最近邻插值和双线性插值等算法将⽤户所选取的图像区域进⾏放⼤和缩⼩整数倍的和旋转操作,并保存,⽐较⼏种插值的效果,以及对图像进⾏直⽅图和直⽅图均衡并加⼊噪声进⾏对⽐,达到本次课程设计的⽬的关键词:MATLAB 亮度和对⽐度插值放⼤旋转噪声AbstractMATLAB is - set of high-performance numerical computation and visualization software, which combines numerical analysis, matrix computation, signal processing and graphics in one form - a convenient, user-friendly user environment.MATLAB is a powerful extension application in various fields to provide a basis by experts in various fields have been given a MATLAB toolbox, which are signal processing, control systems, neural networks, image processing support, robust control, nonlinearcontrol system design, optimization, wavelets, communications toolkit, which this kit to the various areas of research and engineering applications a powerful tool.With these "tools on the shoulders of giants," researchers at all levels can now be easily analyzed directly, calculation and design work, which greatly saves time.The training aims to strengthen the basis of a more comprehensive understanding of commonly used data analysis and processing principles and methods related to the use of simulation software.Images collected by conventional image brightness and contrast adjustments, and the nearest neighbor interpolation and bilinear interpolation algorithm to the user selected image area to zoom in and out several times and rotate the whole operation, and save, comparethe effect of several interpolation and the image histogram and histogram and compared with noise, to the purpose of this course design.Keywords: MATLAB brightness and contrast rotation interpolation noise amplification ⽬录1.MATLAB简介 (1)1.1 MATLA的基本⽤途 (1)1.2 MATLAB的语⾔特点 (1)1.3 MATLAB系统构成 (1)2.数据采集 (2)2.1图像的选取 (2)2.2 图像亮度和对⽐度的调整 (2)2.2.1 编辑M⽂件 (2)2.2.2 MATLAB⽀持的图像格式和类型 (3)2.2.3 图像的读取 (3)2.2.4调整图像亮度和对⽐度 (4)3.图像的⼏何操作 (6)3.1插补操作 (6)3.1.1 插补功能介绍 (6)3.1.2 插补具体操作 (6)3.2 放缩操作 (8)3.2.1放缩功能介绍 (8)3.2.2 具体操作 (9)3.3 旋转操作 (10)3.3.1 旋转功能介绍 (10)3.3.2 具体操作 (10)4.直⽅图统计 (12)4.1灰度图的获取 (12)4.1.1 灰度图的转换功能介绍 (12)4.1.2 具体操作 (12)4.2直⽅图以及直⽅图均衡 (13)4.2.1 直⽅图函数功能介绍 (13)4.2.2 直⽅图具体操作 (14)5.图像的噪声处理 (15)5.1添加噪声的功能介绍 (15)5.2添加噪声的具体操作 (16)6.总结(⼼得体会) (18)7.参考⽂献 (19)1.MATLAB简介1.1 MATLA的基本⽤途MATLAB是矩阵实验室(Matrix Laboratory)之意。

基于MatLab的数字图像清晰化方法

基于MatLab的数字图像清晰化方法
图 5 直方图匹配的图像 图 6 直方图匹配的图像直方图 对自适应阈值增强后的图像(图 3),使用直方图匹配调整
直方图的分布,使得直方图移向暗区,可以看出图像的视觉效
·62·
Computer Era No. 4 2008
基于 Web 的授课质量评价系统的研究与实践
刘利俊 1,吴达胜 2 (1. 杭州广播电视大学网络中心,浙江 杭州 310012;2. 浙江林学院信息工程学院)
g1 和 g2 分别为门限阈值(g1<g2)。当噪声较小时,它对小波
系数的增益较大;当噪声较大时,对小波系数的增益较小。该算
法达到了自适应增强的效果。在 MatLab 中使用自适应阈值增
强方法的代码如下。
[x,ma p]=imre a d‘( 中值滤波后图像.tif’); %读取原图像
x=double (x);
直方图均衡化是较好的直方图修正方法,它生成了自适应 的变换函数,它是以已知图像的直方图为基础的。然而,一旦一 幅图像的变换函数计算完毕,它将不再改动,除非直方图有变 动。直方图均衡化通过扩展输入图像的灰度级到较宽亮度尺度 的范围来实现图像的增强,但这种方法并不总能得到成功的结 果。在 MatLab 中使用如下代码实现直方图匹配增强对比度,相 应的图像与图像直方图示于图 5 及图 6。
指标体系的适应性原则。 系统运行的性能和分布与集中处理。由于整个学校学生
人数众多,同时用户可能会很多,有时也许会多达几千个,因 而系统运行的性能是非常关键的,系统应该具有分布与集中 处理功能。
系统的安全性。为了尽量避免报复现象的产生,系统的安 全保密工作应该规定不同的用户具有不同的操作权限。系统用 户可以分成四个群体:学生、教师、领导、专家。安全性问题主要 考虑以下几点:①学生群体只能对当前任课教师进行评价;② 教师群体只能看到他人(学生、同时、领导、专家)对自己的评价 结果,而看不到具体的评价者情况,以免教师对他人实行报复; 同时教师可以对同行进行评价,这些同行必须是与评价者在同 一 学 院(系)的 ,否 则 代 表 性 不 强 ;③ 领 导 群 体 只 能 对 本 学 院 (系)教师进行评价;④专家群体可以评价学校的全体教师。同 时系统还要能够对一些不负责任的学生进行监督控制,需要设 置专门的超级用户可查看学生对教师的评价细节(包括学生学 号、姓名、班级、评价分数等信息)。

MATLAB中的图像压缩和编码方法

MATLAB中的图像压缩和编码方法

MATLAB中的图像压缩和编码方法图像压缩和编码是数字图像处理的重要领域,在各种图像应用中起着至关重要的作用。

在本文中,我们将探讨MATLAB中的图像压缩和编码方法,包括无损压缩和有损压缩,并介绍其中的一些经典算法和技术。

一、图像压缩和编码概述图像压缩是指通过一定的算法和技术来减少图像数据的存储量或传输带宽,以达到节约存储空间和提高传输效率的目的。

而图像编码则是将原始图像数据转换为一系列二进制编码的过程,以便存储或传输。

图像压缩和编码通常可以分为无损压缩和有损压缩两种方法。

无损压缩是指压缩后的数据可以完全还原为原始图像数据,不会引入任何失真或变化。

常见的无损压缩算法有Run-Length Encoding (RLE)、Lempel-Ziv-Welch (LZW)、Huffman编码等。

这些算法通常针对图像中的冗余数据进行编码,如重复的像素值或相似的图像区域。

有损压缩则是在保证一定程度的视觉质量下,通过舍弃或近似原始图像数据来减小存储或传输的数据量。

常见的有损压缩算法有JPEG、JPEG2000、GIF等。

这些算法通过离散余弦变换(DCT)、小波变换或颜色量化等方法,将图像数据转换为频域或颜色空间的系数,并通过量化、编码和压缩等步骤来减小数据量。

二、无损压缩方法1. Run-Length Encoding (RLE)RLE是一种简单高效的无损压缩算法,通过计算连续重复像素值的数量来减小数据量。

在MATLAB中,可以使用`rle`函数实现RLE编码和解码。

例如,对于一幅图像,可以将连续的像素值(如白色)编码为重复的个数,然后在解码时根据重复的个数恢复原始像素值。

2. Lempel-Ziv-Welch (LZW)LZW是一种字典压缩算法,通过将图像中连续的像素序列映射为一个短代码来减小数据量。

在MATLAB中,可以使用`lzwencode`和`lzwdecode`函数实现LZW 编码和解码。

例如,对于一段连续的像素序列,可以将其映射为一个短代码,然后在解码时根据代码恢复原始像素序列。

基于MATLAB的图像分割算法研究

基于MATLAB的图像分割算法研究

摘要本文从原理和应用效果上对经典的图像分割方法如边缘检测、阈值分割技术和区域增长等进行了分析。

对梯度算法中的Roberts算子、Sobel算子、Prewitt算子、拉普拉斯(Laplacian)算子、LoG(Laplacian-Gauss)算子、坎尼(Canny)算子的分割步骤、分割方式、分割准则相互比较可以看出根据坎尼(Canny)边缘算子的3个准则得出的边缘检测结果最满意。

而阈值分割技术的关键在于阈值的确定,只有阈值确定好了才能有效的划分物体与背景,但这种方法只对于那些灰度分布明显,背景与物体差别大的图像的分割效果才明显。

区域增长的基本思想是将具有相似性质的像素集合起来构成新区域。

与此同时本文还分析了图像分割技术研究的方向。

关键词:图像处理图像分割AbstractThis article analyses the application effect to the classics image segmentation method like the edge examination, territory value division technology, and the region growth and so on.For comparing the Roberts operator, Sobel operator, Prewitt operator, the operator of Laplacian and the operator of LoG(Laplacian-Gauss),Canny operator in gradient algorithm,the step, the way and the standard of the image segmentation,we can find out the three standard of Canny edge operator the edge detection result of reaching most satisfy. And the key point of threshold segmentation lie in fixing the threshold value, it is good to have only threshold value to determine it then can be effective to divide object and background,but this kind of method is good to those gray scales,the big difference image effect between the background and obiect. The basic idea of area is to form the new region from similar nature.And also, this paper analyses the research direction of image segmentation technology at the same time.Key words: image processing image segmentation operator目录(一般目录要求最多是三级目录,不要出现四级目录)第一章绪论 (1)1.1数字图像处理的基本特点 (1)1.1.1数字图像处理的信息大多是二维信息,处理信息量很大(三级标题有问题)1 1.1.2数字图像处理占用的频带较宽 (2)1.1.3数字图像中各个像素是不独立的,其相关性大 (2)1.1.4作合适的假定或附加新的测量 (2)1.1.5数字图像处理后的图像受人的因素影响较大 (2)1.2数字图像处理的优点 (2)1.2.1再现性好 (2)1.2.2处理精度高 (3)1.2.3适用面宽 (3)1.2.4灵活性高 (3)1.3数字图像处理的应用 (4)1.3.1航天和航空技术方面的应用 (4)1.3.2生物医学工程方面的应用 (5)1.3.3通信工程方面的应用 (5)1.3.4工业和工程方面的应用 (5)1.3.5军事公安方面的应用 (5)1.3.6文化艺术方面的应用 (6)1.4数字图像分割技术的发展概况 (6)1.4.1 基于分形的图像分割技术 (6)1.4.2 基于神经网络的图像分割技术 (7)1.5本文的主要流程图 (8)第二章数字图像处理的处理方式 (9)2.1图像变换 (9)2.2图像编码压缩 (9)2.3图像增强和复原 (9)2.4图像分割 (9)2.5图像描述 (10)2.6图像分类(识别) (10)第三章 MATLAB平台及其开发环境 (11)3.1.MATLAB的组成 (11)3.1.1MATLAB主要有以下几个部分 (11)a.数值计算功能 (12)b.符号计算功能 (12)c.数据分析功能 (12)d.动态仿真功能 (12)e.程序借口功能 (13)f.文字处理功能 (13)3.2MATLAB的特点 (13)3.2.1功能强大,可扩展性强 (13)3.2.2界面友好,编程效率高 (14)3.2.3图像功能,灵活且方便 (14)3.3MATLAB在图像处理中的应用 (14)第四章图像分割概念及算法研究 (16)4.1图像分割的基本概念 (16)4.1.1图像分割定义 (16)4.2边缘检测方法(4.1和4.2之间不是并行关系) (17)4.2.1边缘检测概述 (17)4.2.2边缘检测梯度算法 (19)a.梯度边缘检测算法基本步骤及流程图 (19)b.Robert算子 (20)c.Sobel算子 (21)d.Prewitt算子 (21)4.2.3拉普拉斯(Laplacian)算子 (22)4.2.4LoG(Laplacian-Gauss)算子 (24)4.2.5坎尼(Canny)算子 (25)4.3灰度阈值分割 (27)4.3.1阈值分割介绍 (28)a.阈值化分割原则 (28)b.阈值分割算法分类 (29)4.3.2全局阈值 (30)a.极小值点阈值 (31)b.最优阈值 (31)c.迭代阈值分割 (33)4.3.3动态阈值 (34)a.阈值插值 (35)b.水线阈值算法 (35)4.4区域分割 (37)4.4.1区域生长的基本原理、步骤及流程图 (37)4.4.2生长准则和过程 (40)a.灰度差准则 (40)b.灰度分布统计准则 (41)c.区域形状准则 (42)4.4.3分裂合并 (43)第五章总结 (45)5.1对于图像边缘检测的分析 (45)5.2对于图像阈值分割的分析 (45)5.3对于图像区域分割的分析 (46)5.4改进意见(改进可另外做为一章比如说某某算法等的若干改进等,不要放入总结一章中)(总结是对整篇文章的一个概述,应该是写比如得出些什么结论,一些算法间比较等相关问题。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

完成图像的灰度化处理:
function W=hdbh(f)
%f=imread('house.jpg');
[M N Z]=size(f);
g=im2double(f);
W=zeros(M,N);
for x=1:M
for y=1:N
W(x,y)=0.299*g(x,y,1)+0.587*g(x,y,2)+0.114*g(x,y,3);
end
end
figure,imshow(W),title('灰度处理后的图像')
end
完成图像的亮度调整的模块编写
function y=high()
f=imread('house.jpg');
g=im2double(f);
g1=g+0.3;
imshow(g1)
2.完成图像的平移操作
function y=py()
f=imread('house.jpg');
g=im2double(f);
N=size(f)
M=zeros(N(1),N(2));
for x=1:N(1)-100
for y=1:N(2)-100
M(x,y)=g(x+100,y+100);
end
end
imshow(M)
完成对加噪图像的去噪操作(去噪模板任意,模板n*n大小,n值可调)function h=qz(a)
f=imread('Desert.jpg'); %读入图片;
g=im2double(f); %进行灰度化处理;
N=size(f); %求出此图片的大小;
M1=zeros(N(1),N(2)); %建立一个元素全为0的二维矩阵;
for x=1:N(1)
for y=1:N(2)
M1(x,y)=0.299*g(x,y,1)+0.587*g(x,y,2)+0.114*g(x,y,3); %把彩色图像的所有像素点灰度处理;
end %关闭for循环;
end %关闭for循环;
figure,imshow(M1); %显示处理图像;
M=imnoise(M1,'salt & pepper',0.05);
figure,imshow(M);
b=zeros(N(1),N(2));
for x=fix(a/2)+1:N(1)-fix(a/2)
for y=fix(a/2)+1:N(2)-fix(a/2)
Sum=0;
for i=-fix(a/2):fix(a/2)
for j=-fix(a/2):fix(a/2)
Sum=Sum+M(x+i,y+j);
end
end
b(x,y)=Sum/(a*a);
end
end
figure,imshow(b);
完成对图像的锐化处理(锐化模板任意,突出图像边缘,保留图像背景区域)function y=ruihua(f,x)
g=im2double(f);
figure;
imshow(g);
title('原图')
[M N]=size(g);
for i=2:M-1
for j=2:N-1
L(i,j)=g(i,j)+x*(4*g(i,j)-g(i-1,j)-g(i+1,j)-g(i,j-1)-g(i,j+1));
end
end
figure;
imshow(L);
title('锐化后的图像')
完成对图像放大(或缩小)n倍的操作。

function A=fd(f,a,b)
g=im2double(f);
[M,N]=size(g);
A=zeros(a*M,b*N);
for i=1:fix(a*(M-1))
for j=1:fix(b*(N-1))
A(i,j)=g(ceil(i/a),ceil(j/b));
end
end
figure,imshow(A); title('放大后的图像')
缩小处理的代码:
function A=sx(f,a,b)
g=im2double(f);
[M,N]=size(g);
A=zeros(fix(M*a),fix(N*b));
for i=2:M-1
for j=2:N-1
A(fix(a*i),fix(b*j))=g(i,j);
end
end
figure,imshow(A);title('缩小后的图像')
完成一个对图像显示效果变换的操作(如:马赛克,浮雕效果、伪彩色效果、曝光效果等等)
阳刻
function M=fudiaoyang(f)
[m n]=size(f);
M=zeros(m,n);
c=128/255;
for i=1:m-1
for j=1:n-1
M(i,j)=f(i,j)-f(i+1,j+1)+c;
end
end
figure,imshow(M)
阴刻
function M=fudiaoyin(f)
g=im2double(f);
[m n]=size(g);
M=zeros(m,n);
c=128/255;
for i=2:m
for j=2:n
M(i,j)=f(i,j)-f(i-1,j-1)+c;
end
end
figure,imshow(M)
伪彩色
function M=weicaise(f)
g=im2double(f);
[m n]=size(g);
M=zeros(m,n,3);
for i=1:m
for j=1:n
if 0<g(i,j)<1/4
M(i,j,1)=0;
M(i,j,2)=4*g(i,j);
M(i,j,3)=1;
else if 1/4<g(i,j)<1/2
M(i,j,1)=0;
M(i,j,2)=1;
M(i,j,3)=-4*g(i,j)+2;
else if 1/2<g(i,j)<3/4
M(i,j,1)=4*g(i,j)-2;
M(i,j,2)=1;
M(i,j,3)=0;
else if 3/4<g(i,j)<1
M(i,j,1)=1;
M(i,j,2)=-4*g(i,j)+3;
M(i,j,3)=0;
end
end
end
end
end
end
figure,imshow(M)
图像的形态学处理完成一个对图像的形态学处理方法。

二值操作
function L=erzhi(W)
L=M>=0.5;
figure,imshow(L),title('二值化处理后的图像')
end
膨胀(3*3全一模版)
function g=pengz(f)
[m n]=size(f);
g=zeros(m,n);
g=im2double(g);
for x=2:m-1
for y=2:n-1
if f(x,y)==1
for i=-1:1
for j=-1:1
g(x+i,y+j)=1;
end
end
end
end
end
图像的边缘提取完成对图像边缘提取二值化的操作。

二值操作
function L=erzhi(W)
L=M>=0.5;
figure,imshow(L),title('二值化处理后的图像')
end
腐蚀的代码:
function Y=fushi(f)
[m n]=size(f);
f=im2double(f)
Y=zeros(m,n);
Y=im2double(Y);
for x=2:m-1
for y=2:n-1
flag=0;
for i=-1:1
for j=-1:1
if f(x+i,y+j)==1
flag=flag+1;
end
end
end
if flag==9
Y(x,y)=1;
end
end
end
figure,imshow(Y)
title(‘腐蚀后的图像')
主函数:
clc
clear
L=erzhi(f);
g=fushi(L);
y=L-g;
figure,imshow(y);
title('边缘提取后的图像')
end。

相关文档
最新文档