基于MATLAB的图像增强方法与实现

基于MATLAB的图像增强方法与实现
基于MATLAB的图像增强方法与实现

基于MATLAB的图像增强方法与实现

图像,包含模拟图像与数字图像,是图形与影像的合称,在人类的日常生活中有着不可替代的地位:它是人类主要依赖的信息源之一,来源于视觉的信息可以占到个人总体所获取的百分之七十五左右。由于人类日常工作与生活中对图像质量与清晰度越来越高的要求,图像处理作为一样通过计算机对图像进行分析和处理的技术,在应用领域得到了很大的发展。

图像增强作为数字图像处理主要技术之一,可以实现对图像视觉效果的改良,并根据不同的图像的具体应用情况,实现对图像某种特定属性的突出与强调,对不同元素之间的差异的扩大,以达到使图像的信息量更加丰富,提升图像质量的目的,迎合某些场合对图像分析的需要。

MATLAB是由美国Math-Works公司出品的应用于算法开发、数据计算、数据的可视化及分析的一款数学软件,它以矩阵作为基本数据单位,能够实现高效的数值计算和符号计算,同时图形处理功能比较完善,且具有良好的用户界面。与C++类似的语法特征结合与数学表达式相似的书写格式使得MATLAB这种语言能够使操作更简单,且能更加直观显示出图像处理的效果。

本文主要研究不同的图像增强算法,分别详述图像增强的两大类——空间域图像增强方法与频率域图像增强方法中的多种具体图像增强算法,如直方图均衡化算法,高斯低通滤波算法等,对它们的理论基础和意义进行阐述,对不同算法的具体使用范围加以讨论,并最终使用MATLAB语言对图像增强算法进行具体的实现。

目录

第1章绪论 (3)

1.1课题背景 (3)

1.2图像增强研究意义与发展现状 (4)

1.3论文研究工作与结构安排 (4)

第2章图像增强技术基本简介 (6)

2.1数字图像处理基本概念 (6)

2.2图像增强简介 (9)

第3章图像增强算法及原理 (12)

3.1直接灰度级变换 (12)

3.2直方图变换 (19)

3.3空间域内的图像平滑与锐化 (22)

3.4频率域滤波方法 (25)

第4章图像增强算法的MATLAB实现 (40)

4.1基本运行界面 (40)

4.2图像增强算法具体实现 (41)

第1章绪论

1.1 课题背景

数字图像处理最早期出现在20世纪50年代,电子计算机在当时已经具备一定水平,计算机也开始被人们利用来处理图形、图像信息。20世纪60年代初期,数字图像处理成为了一门正式学科。

早期的图像处理着眼于对图像质量的改善,它所针对的对象是人,目的是改善图像在人眼中的视觉效果。图像处理的过程简单来说就是将输入中质量低的图像转变成质量相对高的图像作为结果输出出来。20世纪60年代图像增强技术已经普及到其它多个领域。1895年伦琴发现X射线,将其作为辐射源形成图像。20世纪70年代,计算机轴向断层技术被Godfrey N. Hounsfield和Allan M. Cormack等多个教授一起创造了出来:病人被发出X射线的检测器围绕旋转,检测过程中X 射线穿过身体后,再被位于对面环中的其它相应检测器接收。原理在于利用感知得到数据实现切片图像的重建:沿着垂直于检测器的方向运动的物体会产生一些切片,再由这些切片再现物体图像。20世纪80年代之后,随着各种硬件的高速发展,图像处理范围不再局限于二维图像,三维图像也可以被人们加以处理。人们已经研究出了能获取三维图像和分析处理三维图像的设备与系统,图像处理技术的应用范围进一步扩大。到了20世纪90年代,人类的工作生活,社会的发展等各个方面已愈发离不开图像处理技术,尤其是图像增强技术。人们编写计算机程序实现图像对比度的增强,使用于医药工业、生物科学等不同领域的大量图像能够更加方便地得到解释。图像增强也在地理学中应用于通过航空图像和卫星图像中分析污染模式;在考古学中应用于复原模糊图片,成功率较高;在物理学和其他相关领域中用来处理实验图片,譬如电子显微镜等领域。

21世纪至今,随着计算机技术在相关理论和实际应用领域的急速发展,人类工作与生活的方方面面已离不开对于图像的处理,应用领域在不断扩大,这也成为了一门高速发展且引人关注的新学科。

1.2 图像增强研究意义与发展现状

为了匹配图像和视觉响应的特性,使用某些算法在原图像中附加某种特定信息或是变换原图像中的某些数据,根据特定图像的要求与特性对感兴趣的图像特征进行突出,对无用的图像特性加以抑制,这种方法统称为图像增强。与其它某些图像处理的目的不同,图像增强过程中不需要考虑并分析图像降质的原因,此外,处理后的输出图像不需要贴近原图像。直方图均衡化是一种常用的图像增强方法。1997年,Kim 提出在电子产品中如数码相机等中运用图像增强技术时,需要开发出维持图像的亮度属性的算法,因此提出了能够保持图像亮度的直方图均衡算法,引发了众多学者的关注;1999年,Wan提出二维子图直方图均衡算法;后来其他学者提出最小均方误差双直方图均衡算法。此后,为了实现保持图像亮度特性的目的,局部增强技术被许多学者所研究,多层直方图均衡算法、递归子图均衡算法、递归均值分层均衡处理、保持亮度特性动态直方图均衡算法、动态直方图均衡算法、亮度保持簇直方图均衡处理等新算法问世。

目前,图像增强技术在工业领域已经充分应用于对机械零部件、印刷电路板、集成芯片内部电路等的检测,对出厂食品质量的检验,对工件尺寸的测量等在工业生产领域内的自动化设计与产品质量的检验过程中。在工业生产中,机器人可以通过摄像机拍摄的、经过图像增强处理、数据编码压缩过的图片来控制对物体的位置、方向、移动等其它属性来完成特定的任务;在生物医学方面应用于分类计数红细胞、白细胞、细菌、虫卵的以及分析处理染色体显微光学图像;在社会安全管理方面应用于增强处理人脸、指纹、掌纹、虹膜等生物特征以及无损安全检查等;在交通监控方面应用于对有雾图像、夜视红外图像的增强以实现交通事故的分析和利用电视跟踪技术锁定目标位置。此外,图像增强经常作为图像预处理的一项重要技术,起到消除无关信息,恢复并增强有用信息的可检测性和有限度地数据简化的功能,是进行其它图像处理之前必不可少的程序。

1.3 论文研究工作与结构安排

本文主要利用MATLAB作为工具来实现多种图像增强算法的实现。全文共分五章,具体安排如下。

第一章绪论,介绍本课题的课题背景,研究的目的与意义,以及国内外的研究现状。

第二章数字图像增强技术的基础理论的基本简介。介绍图像增强技术中相关的一些基本的概念术语,如像素、灰度、灰度直方图等。

第三章多种图像增强具体方法的介绍。将图像增强方法分为空间域图像增强方法与频域图像增强方法两大类,分别对其基本原理进行解释。

第四章上章介绍中各种图像增强算法在MATLAB中的具体实现。

第五章总结与展望。

第2章图像增强技术基本简介

2.1 数字图像处理基本概念

2.1.1 数字图像表示方法

因为从外界得到的图像大多是二维的,所以一幅图像可以对应一个二维函数f x y,而不同的二维函数可以表示不同的图像。其中在(,)

f x y中,x和y都表(,)

示空间坐标,该二维函数中坐标(,)

x y所对应的函数值f表示图像在该点的某种性质的数值,往往是灰度值,反映出该图像对应坐标上点的亮度。数字图像指当x,y与f的数值均具有有限且离散的特性[1],因为计算机只能处理坐标空间、性质空间都呈离散状态的图像,为了能够被计算机处理,数字图像对应的二维函数(,)

f x y 的值域是整数集合的子集。一个图像由一个数字序列表示,构成图像的最小单元称为像素。

2.1.2 灰度与灰度直方图

数字图像处理中,最常使用的图像是灰度数字图像。在这种图像中,一个像素只对应一个采样颜色。与黑白图像不同,灰度图像的采样颜色范围包含从最暗的黑色向最亮的白色过渡过程中的所有颜色。灰度即指图像中单个像素的对应的颜色深度,反映出每个像素的光内测量的亮度。

灰度直方图是描述了某图像内关于灰度值分布的函数的图形,反映了对此图像灰度分布的统计结果。它计算了该图像内所有像素的灰度值,并统计不同灰度值在所有像素内的出现频率。作为在数字图像处理过程中经常使用的一种简单且有用的工具,灰度直方图经常用PDF(Probability Density Function)来加以描述。如下图,图2-1为一普通灰度图像,图2-2为图2-1的灰度直方图,其横纵坐标分别表示灰度等级,和该灰度等级在全部像素中的出现次数,即该灰度级出现频率。在图像处理过程中,为了实现图像的增强,经常使用算法来调整图像的灰度级分布,使图像灰度能够均匀化分布,或者满足其它的特定要求。

2-1 原始图像

2-2 图2-1对应的灰度直方图

2.1.3 图像噪声

正如人们日常生活中无处不在的噪声一般,图像中的噪声也可以定义为妨碍人类对其视觉感官所接收的图像中的信息进行理解的因素,会造成图像的质量降低。图像噪声大多是不可测的,所以经常用随机过程来描述这一现象,但不同的噪声的性质之间有所差别。按照噪声产生的原因来看,图像噪声可以分为来自系统外部干扰的外部噪声与由光电基本性质引发的内部噪声。此外,内部噪声还有可能由系统设备内部电路,电器的机械运动和器材材料本身引发。如按频谱形状来区分,噪声又可分为频谱均匀分布的白噪声,与频率成反比的1/f噪声,与频率平方成正比的三角噪声。又可以根据图像噪声与信号的关系分为加性噪声与乘性噪声等等。从统计理论的角度,平稳噪声的统计特性不随时间的变化而变化,而非平稳噪声则反之,统计特性随时变化。最典型的随机噪声之一是椒盐噪声,灰度高的为盐噪声,灰度低的为胡椒噪声。它经常在从图像传感器进行传输和解码时产生,也常常由对图像的切割而引起。

噪声可能会对图像的识别,分割以及特征提取影响很大,所以对图像进行去噪处理是必要的。在图像增强技术中,为了消除图像内的噪声,有时会对该图像进行滤波处理,即图像平滑化。

2.1.4 图像处理基本过程与系统软硬件需求

现今,由于数码相机等电子设备的高频率使用,许多图像以数字的形式产生并加以存储,还可以通过网络被传输,且可以在不失真的前提下进行多次拷贝。通过计算机,可以对图像进行去除噪声、增强、复原、分割、提取特征等分析、处理或加工,这种方法和技术被称作数字图像处理技术。数字图像处理的典型问题包括颜色处理、几何变换、图像合成、去噪声、边缘检测、图像分割、图像制作、图像配准、图像压缩、图像增强、数字水印等,被广泛应用于摄影印刷、卫星图像处理、医学影像处理、显微图像处理、面部特征识别、汽车障碍识别等领域。

这些典型的图像处理技术具有相似的处理过程,即数字图像处理大致分为的三个步骤:图像的采集;图像的处理(例如图像增强);图像的输出。其硬件系统也主要由三部分组成:用来采集图像的图像采集系统,完成图像处理的数字计

matlab图像处理实验报告

图像处理实验报告 姓名:陈琼暖 班级:07计科一班 学号:20070810104

目录: 实验一:灰度图像处理 (3) 实验二:灰度图像增强 (5) 实验三:二值图像处理 (8) 实验四:图像变换 (13) 大实验:车牌检测 (15)

实验一:灰度图像处理题目:直方图与灰度均衡 基本要求: (1) BMP灰度图像读取、显示、保存; (2)编程实现得出灰度图像的直方图; (3)实现灰度均衡算法. 实验过程: 1、BMP灰度图像读取、显示、保存; ?图像的读写与显示操作:用imread( )读取图像。 ?图像显示于屏幕:imshow( ) 。 ?

2、编程实现得出灰度图像的直方图; 3、实现灰度均衡算法; ?直方图均衡化可用histeq( )函数实现。 ?imhist(I) 显示直方图。直方图中bin的数目有图像的类型决定。如果I是个灰度图像,imhist将 使用默认值256个bins。如果I是一个二值图像,imhist使用两bins。 实验总结: Matlab 语言是一种简洁,可读性较强的高效率编程软件,通过运用图像处理工具箱中的有关函数,就可以对原图像进行简单的处理。 通过比较灰度原图和经均衡化后的图形可见图像变得清晰,均衡化后的直方图形状比原直方图的形状更理想。

实验二:灰度图像增强 题目:图像平滑与锐化 基本要求: (1)使用邻域平均法实现平滑运算; (2)使用中值滤波实现平滑运算; (3)使用拉普拉斯算子实现锐化运算. 实验过程: 1、 使用邻域平均法实现平滑运算; 步骤:对图像添加噪声,对带噪声的图像数据进行平滑处理; ? 对图像添加噪声 J = imnoise(I,type,parameters)

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

MATLAB图像增强总结程序

MATLAB图像增强程序举例 1.灰度变换增强程序: % GRAY TRANSFORM clc; I=imread('pout.tif'); imshow(I); J=imadjust(I,[0.3 0.7],[0 1],1); %transforms the walues in the %intensity image I to values in J by linealy mapping %values between 0.3 and 0.7 to values between 0 and 1. figure; imshow(J); J=imadjust(I,[0.3 0.7],[0 1],0.5); % if GAMMA is less than 1,the mapping si weighted to ward higher (brighter) %output values. figure; imshow(J); J=imadjust(I,[0.3 0.7],[0 1],1.5); % if GAMMA is greater than 1,the mapping si weighted toward lower (darker) %output values. figure; imshow(J) J=imadjust(I,[0.3 0.7],[0 1],1); % If TOP

2.直方图灰度变换 %直方图灰度变换 [X,map]=imread('forest.tif'); I=ind2gray(X,map);%把索引图像转换为灰度图像 imshow(I); title('原图像'); improfile%用鼠标选择一条对角线,显示线段的灰度值 figure;subplot(121) plot(0:0.01:1,sqrt(0:0.01:1)) axis square title('平方根灰度变换函数') subplot(122) maxnum=double(max(max(I)));%取得二维数组最大值 J=sqrt(double(I)/maxnum);%把数据类型转换成double,然后进行平方根变换%sqrt函数不支持uint8类型 J=uint8(J*maxnum);%把数据类型转换成uint8类型

基于MATLAB图像处理报告.docx

基于M A T L A B图像处理报告一、设计题目 图片叠加。 二、设计要求 将一幅礼花图片和一幅夜景图片做叠加运算,使达到烟花夜景的美图效果。 三、设计方案 3.1、设计思路 利用matlab强大的图像处理功能,通过编写程序,实现对两幅图片的像素进行线性运算,利用灰度变换的算法使图片达到预期的效果。 3.2、软件介绍 MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。 MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。 MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB 也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户直接进行下载就可以用。

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

MATLAB课程设计-图像处理完整版

MATLAB课程设计 设计题目:应用图像处理 班级: 学号: 姓名: 指导老师: 设计时间:2013年4月8号-4月14号

摘要 21世纪是一个充满信息的时代,图像作为人类感知世界的视觉基础,是人类获取信息、表达信息和传递信息的重要手段。图像处理,是用计算机对图像进行分析,以达到所需结果的技术。又称影像处理。基本容图像处理一般指数字图像处理。数字图像是指用数字摄像机、扫描仪等设备经过采样和数字化得到的一个大的二维数组,该数组的元素称为像素,其值为一整数,称为灰度值。图像处理技术的主要容包括图像压缩,增强和复原,匹配、描述和识别3个部分。常见的处理有图像数字化、图像编码、图像增强、图像复原、图像分割和图像分析等。图像处理一般指数字图像处理。所谓数字图像处理[7]就是利用计算机对图像信息进行加工以满足人的视觉心理或者应用需求的行为。实质上是一段能够被计算机还原显示和输出为一幅图像的数字码。 关键词:DCT变换;图像压缩;真色彩增强;平滑;锐化;直方图均衡; 灰度变换;滤波;M文件的使用 目录 摘要………………………………………………………………I 1 概述……………………………………………………………II 2 课程设计任务及要求...............................III 2.1.1设计任务 2.1.2设计要求 3 系统设计原理 (Ⅳ)

3.1 DCT图像压缩原理 3.2 真彩色增强 3.2.1平滑 3.2.2锐化 3.3 灰度变换(直方图均衡化) 3.4 图像滤波 3.4.1中值滤波器 3.4.2维纳滤波器 4 程序代码及实验结果与分析 (Ⅵ) 4.1 DCT图像压缩 4.1.1程序代码 4.1.2实验结果 4.1.3结果分析 4.2 真彩色增强 4.2.1平滑程序代码 4.2.2实验结果 4.2.3结果分析 4.2.4锐化程序代码 4.2.5实验结果 4.2.6结果分析 4.3 灰度变换(直方图均衡化) 4.3.1程序代码

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

matlab图像几何变换和图像增强

一.图像几何变化 (1)放大,缩小,旋转 程序: I=imread('111.jpg'); J=imresize(I,1.5); L=imresize(I,0.75); K=imrotate(I,35,'bilinear'); subplot(221),subimage(I); title('原图像'); subplot(222),subimage(J); title('放大后图像'); subplot(223),subimage(L); title('缩小后图像'); subplot(224),subimage(K);title('旋转后图像'); 二.图像频域变换 (1)傅里叶变换 真彩图像灰度图像傅里叶变换谱程序:I=imread('111.jpg'); figure(1); imshow(I); B=rgb2gray(I); figure(2);

imshow(B) D=fftshift(fft2(B)); figure(3); imshow(log(abs(D)),[ ]); (2)离散余弦变换 真彩图灰度图进行离散余弦变换后程序: RGB=imread('111.jpg'); figure(1); imshow(RGB); G=rgb2gray(RGB); figure(2); imshow(G); DCT=dct2(G); figure(3); imshow(log(abs(DCT)),[]); 三.图像增强: (1)指数变换 程序:

f=imread('111.jpg') f=double(f); g=(2^2*(f-1))-1; f=uint8(f); g=uint8(g); subplot(1,2,1),subimage(f); subplot(1,2,2),subimage(g); (2)直方图均衡 程序: I=imread('111.jpg'); I=rgb2gray(I); figure subplot(221);imshow(I); subplot(222);imhist(I) I1=histeq(I); figure; subplot(221);imshow(I1) subplot(222);imhist(I1) (3)空域滤波增强 锐化滤波(Roberts算子Sobel算子拉普拉斯算子)

matlab图像处理小结

1.function [center, r] = solve_circle(pt1, pt2, pt3) 2.%Effect: solve the circle which across points 'pt1', 'pt2' and 'pt3' 3.%Inputs: 4.%pt1, pt2, pt3: [x, y] 5.%center: the circle center [x0; y0] 6.%r: the radius of the circle 7.%Author: Su dongcai at 2012/1/2 8. A = zeros(2, 2); B = zeros(2, 1); 9.[A(1, :), B(1)] = circle2line(pt1, pt2); 10.[A(2, :), B(2)] = circle2line(pt2, pt3); 11.center = A\B; 12.r = norm(pt1' - center); 13. 14.function [A, B] = circle2line(pt1, pt2) 15.%Effect: cast 2 circles equation into 1 linear equation: 16.%(a-x1)^2 + (b-y1)^2 = r^2 | 17.% |==> 2(x1-x2)a + 2(y1-y2)b = (x1^2 + y1^2) - (y2^2 + y2^2) 18.%(a-x2)^2 + (b-y2)^2 = r^2 | 19.%Inputs: 20.%pt1, pt2: [x1, y1], [x2, y2] 21.%Outputs: 22.%A: 2[x1-x2, y1-y2] 23.%B: (x1^2 + y1^2) - (x2^2 + y2^2) 24.%Author: Su dongcai at 2012/1/2 25.A = 2*(pt1 - pt2); 26.B = norm(pt1)^2 - norm(pt2)^2; close all;clear;clc; >> i=imread('rice.png'); %>> imshow(i); >> background=imopen(i,strel('disk',15)); >> i2=imsubtract(i,background); %>> figure,imshow(i2); >> i3=imadjust(i2,stretchlim(i2),[0 1]); %>> figure,imshow(i3); >> level=graythresh(i3); >> bw=im2bw(i3,level); %>> figure,imshow(bw); >> [labeled,numobjects]=bwlabel(bw,4); graindata=regionprops(labeled,'all');

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

matlab图像处理综合实验实验报告

《数字图像处理》 实验报告 学院: 专业: 班级: 姓名: 学号:

实验一 实验名称:图像增强 实验目的:1.熟悉图像在Matlab下的读入,输出及显示; 2.熟悉直方图均衡化; 3.熟悉图像的线性指数等; 4.熟悉图像的算术运算及几何变换. 实验仪器:计算机,Matlab软件 实验原理: 图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。空间域的增强主要有:灰度变换和图像的空间滤波。 图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。 实验内容如下: I=imread('E:\cs.jpg');%读取图像 subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J) %输出图像 title('灰度图像') %在原始图像中加标题 subplot(2,2,3),imhist(J) %输出原图直方图 title('原始图像直方图') 0100200

I=imread('E:\cs.jpg');%读取图像 subplot(1,2,1),imshow(I); theta = 30; K = imrotate(I,theta); subplot(1,2,2),imshow(K) 对数运算: I=imread('E:\dog.jpg'); subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理 subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J)); subplot(2,2,3),imshow(J1,[]),title('对数变换后') 指数运算: I=imread('E:\dog.jpg'); f=double(I); g=(2^2*(f-1))-1 f=uint8(f); g=uint8(g);

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

matlab提供的红外图像增强实例

matlab里提供的TM图像增强实例: View code for landsatdemoRun this demo Landsat Color Composite landsatdemo Landsat color composite demo. This demo allows you to experiment with creating color composites from Landsat Thematic Mapper https://www.360docs.net/doc/ad14757083.html,ndsat data consists of7spectral bands that each reveal different features of the region that is imaged.The data is read into a512-by-512-by-7array.To create a color composite, we form an RGB image by assigning spectral bands to red,green,and blue intensities. Try out some common color composites by clicking on the radio buttons.The numbers in square brackets map the spectral bands to red, green,and blue.The array[321]means band3will be shown as red intensities,band2will be shown as blue intensities,and band1will be shown as green intensities. "True Color[321]"-shows what our eyes would see from an airplane. "Near Infrared[432]"-shows vegetation as red,water as dark. "Shortwave Infrared[743]"-shows changes due to moisture. Click on"Custom Composite",and change the popup menus to create your own combinations of red,green,and blue. Click on"Single Band Intensity"to see individual bands as gray intensity images. Try turning off"Saturation Stretch"by clicking on the checkbox.For most Landsat data sets,saturation stretching is important.When saturation stretching is turned on,the demo clips2%of the pixels in each band and does a linear contrast stretch before displaying the image. Try turning on"Decorrelation Stretch"by clicking on the checkbox. This visual enhancement increases color separation by eliminating correlation between channels,making subtle spectral differences easier to recognize.If both"Saturation Stretch"and"Decorrelation Stretch"are checked,the decorrelation stretch is followed by a linear saturation stretch.

数字图像处理MATLAB程序【完整版】

第一部分数字图像处理

实验一图像的点运算 实验1.1直方图 一.实验目的 1 ?熟悉matlab图像处理工具箱及直方图函数的使用; 2?理解和掌握直方图原理和方法; 二.实验设备 1. PC 机一台; 2.软件matlab。 三.程序设计 在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(1,2,1),imshow(l) % 输出图像 title(' 原始图像')% 在原始图像中加标题subplot(1,2,2),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察图像matlab环境下的直方图分布。 (a)原始图像(b) 原始图像直方图 六.实验报告要求 1、给出实验原理过程及实现代码; 2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2灰度均衡 一.实验目的 1 .熟悉matlab图像处理工具箱中灰度均衡函数的使用; 2?理解和掌握灰度均衡原理和实现方法; 二.实验设备 1. PC机一台; 2. 软件matlab ; 三.程序设计 在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。l=imread('camerama n.tif);% 读取图像 subplot(2,2,1),imshow(l) % 输出图像title(' 原始图像')% 在原始图像中加标题subplot(2,2,3),imhist(l) % 输出原图直方图 title(' 原始图像直方图')%在原图直方图上加标题a=histeq(l,256); % 直方图均衡化,灰度级为256 subplot(2,2,2),imshow(a) % 输出均衡化后图像title(' 均衡化后图像')%在均衡化后图像中加标题 subplot(2,2,4),imhist(a) % 输出均衡化后直方图 title(' 均衡化后图像直方图')%在均衡化后直方图上加标题 四.实验步骤 1. 启动matlab 双击桌面matlab图标启动matlab 环境; 2. 在matlab命令窗口中输入相应程序。书写程序时,首先读取图像,一般调用matlab自带的图像, 如:cameraman图像;再调用相应的灰度均衡函数,设置参数;最后输出处理后的图像; 3?浏览源程序并理解含义; 4. 运行,观察显示结果; 5. 结束运行,退出; 五.实验结果 观察matlab环境下图像灰度均衡结果及直方图分布。 均衡化后图像

matlab数字图像处理—图像增强汇总

图像增强 图像增强的定义 图像增强是指按特定的需要突出一幅图像中的某些信息,同时削弱或去除某些不需要的信息的处理方法,也是提高图像质量的过程[9]。图像增强的目的是使图像的某些特性方面更加鲜明、突出,使处理后的图像更适合人眼视觉特性或机器分析,以便于实现对图像的更高级的处理和分析。图像增强的过程往往也是一个矛盾的过程:图像增强希望既去除噪声又增强边缘。但是,增强边缘的同时会同时增强噪声,而滤去噪声又会使边缘在一定程度上模糊,因此,在图像增强的时候,往往是将这两部分进行折中,找到一个好的代价函数达到需要的增强目的[10]。传统的图像增强算法在确定转换函数时常是基于整个图像的统计量,如:ST 转换,直方图均衡,中值滤波,微分锐化,高通滤波等等。这样对应于某些局部区域的细节在计算整幅图的变换时其影响因为其值较小而常常被忽略掉,从而局部区域的增强效果常常不够理想,噪声滤波和边缘增强这两者的矛盾较难得到解决。 常用的图像增强方法 图像增强可分成两大类:空间域法和频率域法。基于空间域的算法处理时直接对图像灰度级做运算;基于频率域的算法是在图像的某种变换域内对图像的变换系数值进行某种修正,是一种间接增强的算法。 基于空间域的算法分为点运算算法和邻域去噪算法。点运算算法即灰度级校正、灰度变换和直方图修正等,目的或使图像成像均匀,或扩大图像动态范围,扩展对比度。邻域增强算法分为图像平滑和锐化两种。平滑一般用于消除图像噪声,但是也容易引起边缘的模糊。常用算法有均值滤波、中值滤波。锐化的目的在于突出物体的边缘轮廓,便于目标识别。常用算法有梯度法、算子、高通滤波、掩模匹配法、统计差值法等。 基于频率域的算法把图像看成一种二维信号,对其进行基于二维傅里叶变换的信号增强。采用低通滤波(即只让低频信号通过)法,可去掉图中的噪声;采用高通滤波法,则可增强边缘等高频信号,使模糊的图片变得清晰。 图像增强的方法是通过一定手段对原图像附加一些信息或变换数据,有选择地突出图像中感兴趣的特征或者抑制(掩盖)图像中某些不需要的特征,使图像与视觉响应特性相匹配。在图像增强过程中,不分析图像降质的原因,处理后的图像不一定逼近原始图像。 ?????? ?????????????????????彩色图像灰度图像处理对象局部处理全局处理处理策略频率域模板处理(滤波)点处理(变换)空间域处理方法图像增强

matlab中的图像增强实验附程序代码

图像增强实验

一:试验目的 熟悉并掌握数字图像空域增强:空域变换增强,空域滤波增强 二:实验内容 (1)直方图均衡化进行图像增强代码: imag=imread('pout.tif'); imag=im2double(imag); subplot(2,2,1);imshow(imag);title('原始图像'); subplot(2,2,2);imhist(imag);title('原始图像的直方图'); imag1=histeq(imag); subplot(2,2,3);imshow(imag1);title('直方图均衡化后的图像'); subplot(2,2,4);imhist(imag1);title('直方图均衡化后的图像的直方图'); 直方图均衡化进行图像增强效果图 (2)对图像加入椒盐噪声,并分别用中值滤波和自适应的方法进行去噪处理的代码: imag2=imnoise(imag,'salt',0.02); imag3=medfilt2(imag2); imag4=wiener2(imag2); subplot(2,2,1);imshow(imag);title('原始图像'); subplot(2,2,2);imshow(imag2);title('加入椒盐噪声后的图像'); subplot(2,2,3);imshow(imag3);title('进行中值滤波后的图像'); subplot(2,2,4);imshow(imag4);title('进行自适应滤波后的图像'); 对图像加入椒盐噪声,并分别用中值滤波和自适应的方法进行去噪处理的效果 原始图 像 0.5 1 原始图像的直方图 直方图均衡化后的图像 0.5 1 0直方图均衡化后的图像的直方图

MATLAB图像处理简介

MATLAB图像处理基础?MATLAB语言的特点: MATLAB图像处理基础 ?典型桌面: 2 MATLAB图像处理基础 ?一. 读取图像:将图像rose-orginal.tif读入图像数组f >> f = imread('.\rose-original.tif'); ?显示图像大小信息: >> size(f) ans = 1024 1024 或者将大小信息赋给变量 ?或者将大小信息赋给变量: >> [M, N] = size(f); ?whos显示更为详细的信息: >> whos f Name Size Bytes Class f 1024x1024 1048576 uint8 array Grand total is 1048576 elements using 1048576 bytes 3 MATLAB图像处理基础 ?二. 显示图像: >> imshow(f) ?指定显示的灰度范围 >> figure, imshow(f, [100 200]) ?情况下显示图像的整个 动态范围: >> figure, imshow(f, [ ]) 4 MATLAB图像处理基础 ?直接显示: >> imshow(h)?改善动态范围: >> imshow(h, [ ]) 利用imshow改善图像动态范围(设图像已被读入到h): 5 MATLAB图像处理基础 ?以交互方式显示像素值: >> pixval ?利用pixval显示像素之间 距离:按下鼠标左键并拖 动 6

MATLAB图像处理基础 ?三. 将图像写入磁盘: >> imwrite(f, 'rose.jpg') ?对于JPEG压缩格式,可指定质量因子: >> imwrite(f, 'rose.jpg', 'quality', 25) 7 quality = 100quality = 50quality = 5 MATLAB图像处理基础?显示图像信息: >> imfinfo rose.jpg MATLAB图像处理基础?计算压缩率:将图像信息存储在结构变量中以方 MATLAB图像处理基础?四. MATLAB中的数据类型: MATLAB图像处理基础?五. MATLAB中的图像类型: MATLAB图像处理基础 ?六. 图像类型的相互转换:下表中的函数在图像类型转换中会进行必要的数据比例变换。 12 >> f = [-0.5 0.5;0.75 1.5] f = -0.5000 0.5000 0.7500 1.5000 >> g = im2uint8(f) g = 0 128 191 255 im2unit8将输入double类型数据中小于0的 数转换为0,大于1的数转换为255,其余数 据乘以255再四舍五入到最近整数。

相关文档
最新文档