基于Matlab基本图像处理程序

合集下载

MATLAB图像处理基础教程

MATLAB图像处理基础教程

MATLAB图像处理基础教程第一章:MATLAB图像处理简介MATLAB(Matrix Laboratory)是一种强大的数值计算和数据可视化软件,广泛应用于各个领域,包括图像处理。

图像处理是一门研究如何对数字图像进行分析、增强、重建和压缩的学科。

本教程将引导读者逐步了解MATLAB图像处理的基本概念和技术。

第二章:MATLAB图像的读取与显示在MATLAB中,可以使用imread函数读取不同格式的图像文件,并使用imshow函数显示图像。

此外,还可以使用imfinfo函数获取图像的详细信息,如分辨率、颜色空间和位深度等。

第三章:图像的灰度处理灰度处理是一种常见的图像预处理方法。

通过将彩色图像转换为灰度图像,可以减少图像的数据量,简化图像处理的复杂性。

在MATLAB中,可以使用rgb2gray函数将彩色图像转换为灰度图像,并使用imhist函数查看灰度图像的直方图。

第四章:图像的滤波处理滤波是一种常用的图像处理操作,用于对图像进行平滑、增强或去噪。

MATLAB提供了各种滤波函数,如均值滤波、中值滤波和高斯滤波等。

可以根据具体需求选择合适的滤波方法,并使用imfilter函数进行滤波处理。

第五章:图像的二值化处理图像的二值化是将图像转换为黑白两色的过程,常用于物体检测、识别和分割等应用。

在MATLAB中,可以使用im2bw函数将灰度图像转换为二值图像,并可以调整阈值来控制二值化的效果。

第六章:图像的几何变换几何变换是一种常见的图像处理操作,用于对图像进行旋转、缩放、平移和翻转等操作。

MATLAB提供了imrotate、imresize、imtranslate和flip函数等实现各种几何变换。

通过组合这些函数,可以实现复杂的图像变换。

第七章:图像的特征提取图像的特征提取是图像处理中的重要步骤,用于从图像中提取出具有代表性的信息。

在MATLAB中,可以使用各种特征提取函数,如imgradient、imhistogram和imcontour等。

基于MATLAB GUI图像处理系统的设计与实现

基于MATLAB GUI图像处理系统的设计与实现

基于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及其图像处理工具箱进行图像灰度、亮度、截图和查找边缘效果处理,通过简单的例子来说明利用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的数字图像处理——图像的运算院系信息技术学院专业班级电气6班学号 201107111282姓名何英娜指导教师章瑞平课程设计时间 2012年11月目录一、摘要 (3)二、图像代数运算1、1图像的加法运算 (4)1、2图像的减法运算 (4)1、3图像的除法运算 (4)1、4绝对差值运算 (7)1、 5 图像的求补运算 (7)3三、图像的几何运算2、1 图像插值 (7)2、2图像的旋转 (8)2、3图像的缩放 (9)2、4图像的投影变换 (10)2、4图像的剪切 (11)四、课程设计总结与体会 (13)五、参考文献 (14)摘要图像运算涵盖程序设计、图像点运算、代数运算、几何运算等多种运算;设计目的和任务:1、熟悉图像点运算、代数运算、几何运算的基本定义和常见方法;2、掌握在MTLAB中对图像进行点运算、代数运算、几何运算的方法3、掌握在MATLAB中进行插值的方法4、运用MATLAB语言进行图像的插值缩放和插值旋转5、学会运用图像的投影变换和图像的剪切46、进一步熟悉了解MATLAB语言的应用,将数字图像处理更好的应用于实际7、通过各类算法加强图像各种属性、一、图像的几何运算何运算图像代数运算是指对两幅或两幅以上输入图像对应的像素逐个进行和差积商运算以产生增强效果的图像。

图像运算是一种比较简单有效的增强处理手段是图像处理中常用方法。

四种图像处理代数运算的数学表达式如下:C(x,y)=A(x,y)+B(x,y)C(x,y)=A(x,y)-B(x,y)C(x,y)=A(x,y)*B(x,y)C(x,y)=A(x,y)/B(x,y)1图像加法运算一般用于多幅图像求平均效果,以便有效降低具有叠加性的随机噪声,在matlab中imadd用于图像相加,其调用格式为z=imadd(X,Y);程序演示如下:I=imread('rice.png');subplot(2,2,1),imshow(I),title('原图像1'); J=imread('cameraman.tif');subplot(2,2,2),imshow(J),title('原图像52');K=imadd(I,J,'uint16'););subplot(2,2,3),imshow(K,[]),title('相加后图像'2、图像减法运算也称差分运算,是用于检测图像变化及运动物体的方法;用imsubtract函数实现。

利用Matlab进行图像处理的常用方法

利用Matlab进行图像处理的常用方法

利用Matlab进行图像处理的常用方法概述:图像处理是数字信号处理的一个重要分支,也是计算机视觉领域的核心内容之一。

随着计算机技术的不断发展,利用Matlab进行图像处理的方法变得越来越重要。

本文将介绍一些常用的Matlab图像处理方法,包括图像的读取与显示、图像的预处理、图像的滤波处理、基本的图像增强方法以及图像的分割与检测等。

一、图像的读取与显示在Matlab中,可以使用imread函数直接读取图像。

通过指定图像的路径,我们可以将图像读取为一个矩阵,并且可以选择性地将其转换为灰度图像或彩色图像。

对于灰度图像,可以使用imshow函数将其显示出来,也可以使用imwrite函数将其保存为指定格式的图像文件。

对于彩色图像,可以使用imshow函数直接显示,也可以使用imwrite函数保存为指定格式的图像文件。

此外,还可以使用impixel函数获取图像中指定像素点的RGB值。

二、图像的预处理图像的预处理是指在进一步处理之前对图像进行调整和修复以消除图像中的噪声和不良的影响。

常用的图像预处理方法包括图像的平滑处理、图像增强和图像修复等。

1. 图像平滑处理:常用的图像平滑方法有均值滤波、中值滤波和高斯滤波等。

其中,均值滤波将每个像素点的值替换为其周围像素点的平均值,中值滤波将每个像素点的值替换为其周围像素点的中值,高斯滤波则通过加权平均的方式平滑图像。

2. 图像增强:图像增强是指通过一些方法提高图像的质量和信息内容。

常用的图像增强方法包括直方图均衡化、对比度拉伸和锐化等。

直方图均衡化通过调整图像的灰度分布,以提高图像的对比度和细节。

对比度拉伸是通过将图像的像素值线性拉伸到整个灰度范围内,以增强图像的对比度。

锐化则是通过增强图像的边缘和细节,使图像更加清晰。

三、图像的滤波处理图像的滤波处理是指通过对图像进行一系列滤波操作,来提取图像中的特征和信息。

常用的图像滤波方法包括模板滤波、频域滤波和小波变换等。

1. 模板滤波:模板滤波是基于局部像素邻域的滤波方法,通过定义一个滤波模板,将其与图像进行卷积操作,从而实现图像的滤波。

基于matlab的遥感图像处理程序

基于matlab的遥感图像处理程序

基于matlab的遥感图像处理程序报告南京理工大学电光学院,无履仙人一、程序简介基于matlab的GUI可视化遥感图像处理程序,界面布局如下图:菜单栏包括:文件,图像旋转,自动识别有效区域,获取有效区域,压缩,图像增强,伪彩色图像,还原重做,退出,关于等项。

主界面部分包含两个图像显示,和部分按钮及需要输入的参数。

由于界面大小有限,部分功能留在菜单栏中。

二、处理步骤及部分源码1、打开和保存文件首先是文件菜单,包含打开和保存,打开的文件将显示在原始图像和处理图像两部分中,在处理过程中,原始图像不变,以作为和处理图像对比,保存图片只保存处理后的图片,处理前的图片不做保存。

图片打开后如图所示,2、图像旋转由图可见图像有部分区域无有效信息,不利于处理和获得有效信息,故应去除,首先进行旋转,便于去除无效区域。

在旋转角度编辑栏内输入要旋转的角度然后点旋转按钮,进行旋转。

旋转后如图,图像旋转源码为:function imrotate_Callback(hObject, eventdata, handles)h=getappdata(handles.figure_demo,'img_2');x=get(handles.angle,'string');an=str2num(x);g=imrotate(h,an,'bilinear','crop');img_2=g;axes(handles.tag);imshow(img_2);setappdata(handles.figure_demo,'img_2',img_2);3。

、有效区域自动提取现在图中有效区域基本是在一个矩形内,可以通过算法将有效区域边界的坐标求出来,单击自动识别有效区域按钮,求出后显示在图片右边的静态文本框内。

如下图,图像自动识别有效区域源码如下,function auto_Callback(hObject, eventdata, handles)h=getappdata(handles.figure_demo,'img_2');[x,y]=size(h);flag=1;for i=1:xfor j=1:yif h(i,j)~=0&flag==1x1=i;flag=0;endif h(i,j)~=0x2=i;endendendfor j=1:yfor i=1:xif h(i,j)~=0&flag==0y1=j;flag=1;endif h(i,j)~=0y2=j;endendendset(handles.x_1,'String',num2str(x1));set(handles.x_2,'String',num2str(x2));set(handles.y_1,'String',num2str(y1));set(handles.y_2,'String',num2str(y2));y0=y2-y1;x0=x2-x1;rect=[y1,x1,y0,x0];setappdata(handles.figure_demo,'rect',rect);4、获取有效区域获得有效区域坐标后,就可以通过简单的命令获得遥感图像的有效区域了,单击菜单栏的“获取有效区域”按钮,就可获得。

使用MATLAB进行图像处理的基本方法

使用MATLAB进行图像处理的基本方法

使用MATLAB进行图像处理的基本方法第一章:介绍MATLAB图像处理工具箱MATLAB是一种用于算法开发、数据可视化和数值计算的高级工具。

图像处理是MATLAB中重要的应用之一,其图像处理工具箱提供了许多功能强大的函数和工具,能够完成各种图像处理任务。

1.1 图像处理基础图像处理是通过计算机对图像进行分析、处理和改变的过程。

它可以用于增强图像的质量、从图像中提取有用的信息或特征,以及实现图像的压缩和恢复等任务。

1.2 MATLAB图像处理工具箱的功能MATLAB图像处理工具箱提供了丰富的函数和工具,包括图像读取和写入、图像增强、图像分割、图像滤波、图像变换等。

这些功能可以帮助用户对图像进行各种处理和分析。

第二章:图像预处理图像预处理是图像处理的第一步,其目的是消除图像中的噪声和其他不必要的信息,使后续的处理更加准确和有效。

2.1 图像读取和显示在MATLAB中,可以使用imread函数读取图像,imshow函数显示图像。

读取图像后,可以对图像进行显示、调整亮度和对比度等操作。

2.2 图像增强图像增强是通过对图像的像素值进行调整,改善图像的视觉质量。

常用的图像增强方法有直方图均衡化、对比度拉伸和滤波等。

第三章:图像分割图像分割是将图像划分成若干个具有独立意义的部分的过程。

图像分割可以帮助我们识别并提取出感兴趣的目标,进行后续的处理和分析。

3.1 基于阈值的图像分割阈值分割是一种简单且有效的图像分割方法,其思想是将图像中的像素分成前景和背景两部分。

MATLAB提供了imbinarize函数用于阈值分割。

3.2 基于边缘的图像分割边缘分割基于图像中物体的边界特征,通过检测图像中的边缘来实现图像分割。

MATLAB中的边缘检测函数包括edge和gradient。

第四章:图像滤波图像滤波是对图像进行平滑或增强处理的过程,它可以帮助去除图像中的噪声、增强图像的边缘和细节等。

4.1 线性滤波线性滤波是一种基于加权和求和的滤波方法,常用的线性滤波器有均值滤波器和高斯滤波器等。

数字图像处理与机器视觉-基于MATLAB实现 第3章 MATLAB数字图像处理基础

数字图像处理与机器视觉-基于MATLAB实现 第3章 MATLAB数字图像处理基础
第3章 MATLAB数字图像处理基础
➢ 3.1 图像的基本概念 ➢ 3.2 图像的数字化及表达 ➢ 3.3 图像的获取与显示 ➢ 3.4 像素间的基本关系 ➢ 3.5灰度直方图 ➢ 3.6图像的分类
第三章 数字图像处理基础知识
数字图像处理技术历经70余年的发展已经取得了长足的进步,在许多应用领域受 到广泛重视并取得了重大的开拓性成就,如:航空航天、生物医学工程、工业检测、 机器人视觉等,使图像处理成为一门引人注目、前景远大的新型学科。
一般来说,采样间隔越大,所得图像像素数越少,空间分辨率越低,质量差, 严重时出现马赛克效应;采样间隔越小,所得图像像素数越多,空间分辨率越高, 图像质量好,但数据量大。同时采样的孔径形状,大小与采样方式有关。如图3-6所 示。
图3-6 图像采样示意图
3.3 图像的获取与显示
3.3.2 采样点的选取
图3-8 灰度级的量化
3.3 图像的获取与显示
一幅数字图像中不同灰度值的个数称为灰度级数。一幅大小为M×N,灰度级数 为的图像,其图像数据量为M×N×g(bit),量化等级越多,图像层次越丰富,灰 度分辨率越高,图像质量就越好,数据量大;反之,量化等级越少,图像层次欠丰 富,灰度分辨率越低,会出现假轮廓现象,图像质量就越差,数据量小。如图3-9所 示(但由于减少灰度级可增加对比度,所以在极少数情况下,减少灰度级可改善图 像质量)。所以量化等级对图像质量至关重要,在对图像量化时要根据需求选择合 适的量化等级。
2022年6月5日10时44分长征2号运载火箭托举着神舟十四号载人飞船从酒泉卫星 发射中心拔地而起奔赴太空,这是中国人的第9次太空远征。神舟载人飞船返回舱是 航天员在飞船发射、交会对接以及返回地面阶段需要乘坐的飞船舱。与在轨的空间站 不同,返回舱和地面之间的通信链路资源极其有限,传统的视频通信技术影响返回舱 图像的分辨率和画质。如图3-1所示,在神舟十三号及以前的飞船中,返回舱图像的 有效分辨率仅为352×288,难以适应目前高分辨率、大屏显示的画面要求。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

图像读入●从图形文件中读入图像imreadSyntax: A = imread(, fmt):指定的灰度或彩色图像文件的完整路径和文件名。

fmt:指定图形文件的格式所对应的标准扩展名。

如果imread没有找到所制定的文件,会尝试查找一个名为的文件。

A:包含图像矩阵的矩阵。

对于灰度图像,它是一个M行N列的矩阵。

如果文件包含RGB 真彩图像,则是m*n*3的矩阵。

●对于索引图像,格式[X, map] = imread(, fmt)X:图像数据矩阵。

MAP:颜色索引表图像的显示●imshow函数:显示工作区或图像文件中的图像●Syntax:imshow(I) %I是要现实的灰度图像矩阵imshow(I,[low high],param1, val1, param2, val2,...) %I是要现实的灰度图像矩阵,指定要显示的灰度范围,后面的参数指定显示图像的特定参数imshow(RGB)imshow(BW)imshow(X,map) %map颜色索引表imshow()himage = imshow(...)●操作:读取并显示图像I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读取图像数据imshow(I);%显示原图像图像增强一.图像的全局描述直方图(Histogram):是一种对数据分布情况的图形表示,是一种二维统计图表,它的两个坐标分别是统计样本和该样本对应的某个属性的度量。

图像直方图(Image Histogram):是表示数字图像中亮度分布的直方图,用来描述图象灰度值,标绘了图像中每个亮度值的像素数。

灰度直方图:是灰度级的函数,它表示图像中具有某种灰度级的像素的个数,反映了图像中某种灰度出现的频率。

描述了一幅图像的灰度级统计信息。

是一个二维图,横坐标为图像中各个像素点的灰度级别,纵坐标表示具有各个灰度级别的像素在图像中出现的次数或概率。

归一化直方图:直接反应不同灰度级出现的比率。

纵坐标表示具有各个灰度级别的像素在图像中出现的概率。

图像的灰度直方图:是一个离散函数,表示图像每一灰度级与该灰度级出现概率的对应关系。

图像的灰度直方图运算: imhist()函数,其横坐标表示像素的灰度级别,纵坐标为像素点的个数。

●Imhist函数=Display histogram of image data显示灰度直方图的函数●Syntax:①imhist(I) % I为要计算的灰度直方图图像②imhist(I, n) % n指定的灰度级的数目,表示所有灰度级均匀分布在n个小区间内。

③imhist(X, map)④[counts,x] = imhist(...) %counts直方图数据向量。

counts(i)第i个灰度区间中的像素数目。

x是保存了对应的灰度小区间的向量。

注意:若调用时不接受这个函数的返回值,则直接显示直方图;在得这些返回数据之后,也可以使用stem(x,counts)手绘直方图。

●例1:显示某一图像的灰度直方图I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读入图像imhist(I) %显示图像的灰度直方图●例2:显示原图像和图像的灰度直方图I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读入图像figure;imshow(I); %显示原始图像title('source');figure;imhist(I); %显示图像的灰度直方图title('graph');注意:这里显示的是未经归一化的灰度直方图,纵轴表示图像中所有像素取到某一特定灰度值的次数,横轴表示所有灰度值。

●例3:归一化直方图I=imread('C:\Users\fanjinfei\Desktop\baby.bmp'); %读入原图像figure; %打开新窗口[M,N]=size(I); %计算图像大小[counts,x] = imhist(I,32) ; %计算有32个小区间的灰度直方图counts=counts/M/N; %计算归一化灰度直方图各区间的值stem(x,counts) %绘制归一化直方图注意:counts保存了落入每个区间的像素个数.图像归一化:就是将图像转换成唯一的标准形式,消除同类图像不同变形体之间的外观差异。

二.直方图均衡化目的:通过某种灰度映射,使输入图像转换为在每个灰度级上都具有近似相同的像素点数的输出图像。

(输出的直方图均匀)结果:使图像具有较高的对比度和较大的动态范围。

●Histeq函数:Enhance contrast using histogram equalization直方图均衡化●Syntax:[J, T] = histeq(I) %I是原始图像;J是直方均衡化的输出图像,T是变换矩阵●例:利用直方图均衡化来实现图像的灰度归一化。

Matlab的实现:I=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读入图像I=im2double(I);%对比度变大的图像I1=2*I-55/255;subplot(4,4,1);imshow=(I1);subplot(4,4,2);imhist=(I1);subplot(4,4,3);imshow=(histeq(I1));subplot(4,4,4);imhist=(histeq(I1));一.滤波操作:【相关函数imfilter和fspecial】1.函数imfilter:完成滤波操作。

●函数原型:g=imfilter(f,w,option1,option2,.....)●参数:f:进行滤波操作的图像;w:滤波操作使用的模版,为一个二维数组;option1,option2,...:可选项。

返回值:g为滤波后输出的图像。

【其中可选项:①边界选项:采用固定值填充虚拟边界,会使边缘附近产生梯度‘replicate’:填充虚拟边界的内容总是重复与它最近的边缘像素。

②尺寸选项:由于滤波中填充了边界,有必要指定输出图像g的大小。

③模式选项:滤波过程是相关还是卷积。

‘corr’:相关‘conv’:卷积】●线性滤波过程f=imread('C:\Users\fanjinfei\Desktop\baby.bmp');%读入图像figure;imshow(f);w=[1 1 1 ;1 1 1;1 1 1;1 1 1]/9g=imfilter(f,w,'corr','replicate');%l滤波figure;figure,imshow(g);2.函数fspecial:为我们创建一些预定义的2维滤波器,直接供函数imfilter使用。

●调用格式:h=fspecial(type,parameters)●参数:type:指定滤波器类型。

如’average’:平均模版parameters:可选项。

返回值:h为特定滤波器。

●举例:1.h=fspecial(‘average’,hsize) %返回一个大小为hsize的平均模板滤波器。

2.h=fspecial(‘disk’,radius) %返回一个大小为半径为radius的圆形平均模板。

3.h=fspecial(‘gaussian’,hsize,sigma) %返回一个大小为hsize,标准差sigma的高斯低通滤波器。

4.h=fspecial(‘sobel’) %返回一个加强水平边缘竖直梯度算子。

subplot=Create axes in tiled positions建立坐标轴Syntax:subplot(m,n,p)im2double=Convert image to double precision将图像转换成双精度Syntax:I2 = im2double(I)RGB2 = im2double(RGB)I = im2double(BW)X2 = im2double(X,'indexed')注意:I=imread('C:\Users\fanjinfei\Desktop\picture.png');%读取图像数据n=length(I);figure;imshow('I');%显示原图像%产生噪声图像theta_noise=15;%噪声方差(可设为其他值)-------------------------------------------%noise_sig_truth = 20; % sigma_n used in the paper. This parameter is adjusted by the user.noise_mu = 0;noise=randn(size(I)) .* theta_noise + noise_mu;Inoise=double(I) + noise;figure;imshow(Inoise,[]);%显示带噪图像%小波滤波器选择这个是调用滤波器函数,但是仿真出错qmf=MakeONFilter('Daubechies',8);%Daubechies8小波(可设为其他小波)-----------------L=5;%分解层数=log2(n)-L[InoiseNorm,coef] = NormNoise2(Inoise,qmf);%归一化,这个一直出现问题是怎么回事?wc=FWT2_PO(InoiseNorm,L,qmf);%这个也没有%--------------------------VisuShrink方法-----------------------------------------%wc = MultiVisu2(wc,L);%---------------------------------------------------------------------------------%--------------------------SUREShrink方法----------------------------------------- wc = MultiSURE2(wc,L);图像去噪canny边缘检测I=imread('lena.bmp'); %读灰度图lena.bmp %Canny edge detectorth=[0.05 0.2];E=edge(I,'canny',th);E=uint8(255*(1-double(E)));figure('name','canny'),imshow(uint8(E),'truesize');sobel边缘检测I=imread('lena.bmp'); %读灰度图lena.bmp %sobel edge detectorE=edge(I,'sobel',0.08);E=uint8(255*(1-double(E)));figure('name','canny'),imshow(uint8(E),'truesize');练习:%读取原始图像I=imread('C:\Users\fanjinfei\Desktop\picture.png');%读取图像数据n=length(I);figure;imshow(I),title('原图') %显示原图像%缩小图像J = imresize(I,0.5);%将图像缩小至0.5倍imshow(J),title('0.5 倍图') %显示缩小后的图像%显示尺寸[mrows,mcols] = size(I) %查看原始的尺寸大小[mrows,mcols] = size(J) %查看缩放图像的尺寸大小%放大图像K= imresize(I,1.5); %将图像放大1.5 倍figure;imshow(K),title('1.5 倍图') %显示放大后的图像%设置尺寸M = imresize(I,[250,600]);%设置图像的尺寸大小figure;imshow(M),title('250*600 图')%逆时针旋转图像I45 = imrotate(I, 45);%对图像逆时针旋转45 度figure;imshow(I45),title('逆时针45 度') %显示逆时针旋转后的图像%逆时针旋转图像I45 = imrotate(I, -45);figure;imshow(I45),title('顺时针45 度')%对图像逆时针旋转180 度,即反转IR = imrotate(i, 180);figure;imshow(iR),title('反转')%裁剪图像,读入图像文件,然后调用命令,进入裁剪阶段。

相关文档
最新文档