基于直方图均衡化的图像增强技术分析与Matlab实现_叶松

基于直方图均衡化的图像增强技术分析与Matlab实现_叶松
基于直方图均衡化的图像增强技术分析与Matlab实现_叶松

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/0a4658601.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再四舍五入到最近整数。

相关文档
最新文档