一些基于matlab的图像处理简单算法
- 格式:doc
- 大小:40.50 KB
- 文档页数:8
基于MATLAB GUI图像处理系统的设计与实现MATLAB是一种功能强大的图像处理工具,其GUI(图形用户界面)设计及实现可以使图像处理更加直观和简单。
本文将介绍基于MATLAB GUI图像处理系统的设计与实现,包括系统的功能设计、界面设计及实现步骤等内容,旨在为使用MATLAB进行图像处理的读者提供一些参考和帮助。
一、系统功能设计1. 图像基本处理功能:包括图像的读取、显示、保存,以及图像的基本操作(如缩放、旋转、翻转等)。
2. 图像增强功能:包括亮度、对比度、色彩平衡调整,以及直方图均衡化、滤波等操作。
3. 图像特征提取功能:包括边缘检测、角点检测、纹理特征提取等。
4. 图像分割功能:包括阈值分割、边缘分割、区域生长等。
5. 图像识别功能:包括基于模板匹配、人工智能算法的图像识别等。
6. 图像测量功能:包括测量图像中物体的大小、长度、面积等。
二、界面设计1. 主界面设计:主要包括图像显示区域、功能按钮、参数调节控件等。
2. 子功能界面设计:根据不同的功能模块设计相应的子界面,以便用户进行更详细的操作。
3. 界面美化:可以通过添加背景图案、调整按钮颜色、字体等方式美化界面,提高用户体验。
三、实现步骤1. 图像显示与基本处理:通过MATLAB自带的imread()函数读取图像,imshow()函数显示图像,并设置相应的按钮实现放大、缩小、旋转、翻转等基本操作。
2. 图像增强:利用imadjust()函数实现对图像亮度、对比度的调整,利用histeq()函数实现直方图均衡化,利用imfilter()函数实现图像的滤波处理。
3. 图像特征提取:利用edge()函数实现图像的边缘检测,利用corner()函数实现角点检测,利用texture()函数实现纹理特征提取。
4. 图像分割:利用im2bw()函数实现阈值分割,利用edge()函数实现边缘分割,利用regiongrowing()函数实现区域生长。
基于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中,我们可以使用interp2函数进行图像插值。
该函数通过利用已知像素点之间的关系,预测未知像素点的数值,并在图像上进行补全。
我们可以通过程序代码指定插值方法和参数,以获得不同的插值效果。
三、利用MATLAB进行图像去噪图像去噪是提高图像质量和清晰度的重要步骤。
图像中的噪声可能来自于图片采集过程中的干扰,也可能是由于传输、储存等环节引起的噪声。
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的图像对比度增强处理的算法的研究与实现1. 引言1.1 研究背景图像对比度增强是数字图像处理中的一个重要领域,它能够提高图像的视觉质量,使图像更加清晰、鲜明。
随着现代科技的快速发展,图像在各个领域的应用越来越广泛,因此对图像进行对比度增强处理的需求也越来越迫切。
在数字图像处理领域,图像对比度增强处理是一种经典的技术,通过调整图像的灰度级范围,提高图像的对比度,使图像更加清晰和易于观察。
对比度增强处理可以应用于医学影像、卫星图像、照片修复等领域,有效提升图像质量和信息量。
随着数字图像处理算法的不断发展和完善,基于matlab的图像对比度增强处理算法也得到了广泛研究和应用。
通过matlab编程实现图像对比度增强处理算法,可以快速、高效地对图像进行处理,并进行实验验证和效果分析。
研究基于matlab的图像对比度增强处理算法的研究与实现具有重要的理论意义和实际应用价值。
1.2 研究目的研究目的是探索基于matlab的图像对比度增强处理算法,通过对比不同算法的效果和性能进行分析,进一步提高图像的清晰度和质量。
具体目的包括:1. 深入理解图像对比度增强处理的基本原理,掌握常用的算法和技术;2. 研究基于matlab的图像对比度增强处理算法实现的方法和步骤,探究其在实际应用中的优劣势;3. 通过实验结果与分析,评估不同算法在提升图像对比度方面的效果和效率;4. 对现有算法进行优化与改进,提出更加有效的图像对比度增强处理方法;5.总结研究成果,为今后进一步完善图像处理技术提供参考和借鉴。
通过对图像对比度增强处理算法的研究与实现,旨在提高图像处理的效率和质量,满足不同应用领域对图像处理的需求,促进图像处理技术的发展和应用。
1.3 研究意义对比度增强处理是图像处理领域中一项重要的技术,在实际应用中有着广泛的使用。
通过增强图像的对比度,可以使图像更加清晰、鲜明,提高图像的质量和观感效果。
对比度增强处理在医学影像分析、卫星图像处理、数字摄影等领域都有着重要的应用。
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中的图像压缩和编码方法,包括无损压缩和有损压缩,并介绍其中的一些经典算法和技术。
一、图像压缩和编码概述图像压缩是指通过一定的算法和技术来减少图像数据的存储量或传输带宽,以达到节约存储空间和提高传输效率的目的。
而图像编码则是将原始图像数据转换为一系列二进制编码的过程,以便存储或传输。
图像压缩和编码通常可以分为无损压缩和有损压缩两种方法。
无损压缩是指压缩后的数据可以完全还原为原始图像数据,不会引入任何失真或变化。
常见的无损压缩算法有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作为一种功能强大的科学计算软件,在医学影像处理领域有着广泛的应用。
本文将探讨基于MATLAB的医学影像处理算法研究与实现。
二、医学影像处理概述医学影像处理是指利用计算机技术对医学图像进行数字化处理和分析的过程。
常见的医学影像包括X射线片、CT扫描、MRI等。
医学影像处理可以帮助医生更清晰地观察患者的内部结构,发现病变部位,提高诊断准确性。
三、MATLAB在医学影像处理中的优势MATLAB作为一种专业的科学计算软件,具有丰富的图像处理工具箱和强大的编程能力,适合用于医学影像处理。
其优势主要体现在以下几个方面: - 提供丰富的图像处理函数和工具箱,如imread、imshow、imfilter等,方便快捷地对医学图像进行处理。
- 支持自定义算法的开发,可以根据具体需求设计和实现各种医学影像处理算法。
- 集成了大量数学计算和统计分析工具,可用于对医学影像数据进行深入分析和挖掘。
四、常见的医学影像处理算法1. 图像去噪图像去噪是医学影像处理中常见的预处理步骤,旨在消除图像中的噪声干扰,提高图像质量。
MATLAB提供了多种去噪算法,如中值滤波、均值滤波、小波去噪等。
2. 图像分割图像分割是将图像划分为若干个具有相似特征的区域或对象的过程,常用于检测病变区域或器官轮廓。
MATLAB中常用的图像分割算法有阈值分割、区域生长、边缘检测等。
3. 特征提取特征提取是从图像中提取出具有代表性信息的特征,用于描述和区分不同目标或结构。
MATLAB提供了各种特征提取方法,如灰度共生矩阵、Gabor滤波器、形态学特征等。
4. 图像配准图像配准是将不同时间或不同模态下获取的图像进行对齐和配准,以便进行定量比较和分析。
MATLAB中常用的配准算法有基于特征点的配准、基于互信息的配准等。
基于Matlab的图像预处理算法实现目录第一章绪论 (1)1.1何谓数字图像处理 (1)1.2数字图像处理的特点及其应用 (1)1.2.1 数字图像处理的特点 (1)1.2.2图像预处理的内容 (2)1.2.3 数字图像处理的应用 (3)1.3MATLAB (4)1.3.1 matlab简述 (4)1.3.2 matlab处理图像的特点 (5)第二章数字图像处理的灰度直方图 (6)2.1灰度的定义 (6)2.2直方图定义 (6)2.2.1直方图的典型用途 (6)2.2.2灰度直方图的计算 (7)2.2.3图像直方图实现代码 (7)2.3直方图均衡 (8)2.3.1 直方图均衡原理 (8)2.3.2直方图均衡的实现 (8)第三章图像平滑与图像锐化 (12)3.1图像的平滑 (12)3.1.1领域平均法基础理论 (12)3.1.2算法实现 (13)3.2图像锐化 (15)3.2.1图像锐化的目的和意义 (15)3.2.2图像锐化算法 (16)3.2.3图像锐化的实现代码 (16)第四章图像噪声与噪声的处理 (19)4.1噪声的概念 (19)4.2图像噪声对图像的影响 (19)4.3噪声来源 (19)4.4噪声图像模型及噪声特性 (20)4.4.1 含噪模型 (20)4.4.2 噪声特性 (21)4.5图像二值化 (21)4.5.1理论基础 (21)4.5.2图像二值化的实现代码 (21)4.6二值图像的去噪 (22)4.6.1理论基础 (23)4.6.2二值图像去噪的实现代码 (23)第五章结论 (25)参考文献 (26)第一章绪论1.1何谓数字图像处理数字图像处理(Digital Image Processing),就是利用数字计算机或则其他数字硬件,对从图像信息转换而得到的电信号进行某些数学运算,以提高图像的实用性。
例如从卫星图片中提取目标物的特征参数,三维立体断层图像的重建等。
总的来说,数字图像处理包括点运算、几何处理、图像增强、图像复原、图像形态学处理、图像编码、图像重建、模式识别等。
完成图像的灰度化处理:
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
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('二值化处理后的图像')
腐蚀的代码:
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。