基于MAtlab数字图像加减乘除-反色-均衡
- 格式:doc
- 大小:216.50 KB
- 文档页数:5
数字图像处理实验指导书目录实验一MATLAB数字图像处理初步实验二图像的代数运算实验三图像增强-空间滤波实验四图像分割3实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验原理及知识点1、数字图像的表示和类别一幅图像可以被定义为一个二维函数f(x,y),其中x和y是空间(平面)坐标,f 在任何坐标处(x,y)处的振幅称为图像在该点的亮度。
灰度是用来表示黑白图像亮度的一个术语,而彩色图像是由单个二维图像组合形成的。
例如,在RGB彩色系统中,一幅彩色图像是由三幅独立的分量图像(红、绿、蓝)组成的。
因此,许多为黑白图像处理开发的技术适用于彩色图像处理,方法是分别处理三副独立的分量图像即可。
图像关于x和y坐标以及振幅连续。
要将这样的一幅图像转化为数字形式,就要求数字化坐标和振幅。
将坐标值数字化成为取样;将振幅数字化成为量化。
采样和量化的过程如图1所示。
因此,当f的x、y分量和振幅都是有限且离散的量时,称该图像为数字图像。
作为MATLAB基本数据类型的数值数组本身十分适于表达图像,矩阵的元素和图像的像素之间有着十分自然的对应关系。
图1 图像的采样和量化根据图像数据矩阵解释方法的不同,MA TLAB把其处理为4类:➢亮度图像(Intensity images)➢二值图像(Binary images)➢索引图像(Indexed images)➢RGB图像(RGB images)(1) 亮度图像一幅亮度图像是一个数据矩阵,其归一化的取值表示亮度。
若亮度图像的像素都是uint8类或uint16类,则它们的整数值范围分别是[0,255]和[0,65536]。
若图像是double类,则像素取值就是浮点数。
数字图像处理基础程序及运行结果图像matlab程序目录实验一MATLAB数字图像处理初步 (2)实验二图像的代数运算 (7)实验三图像增强—灰度变换 (11)实验四图像增强—直方图变换 (14)实验五图像增强—空域滤波 (16)实验六图像的傅立叶变换 (22)实验七图像增强—频域滤波 (24)实验八彩色图像处理 (27)实验九图像分割 (33)实验十形态学运算 (36)实验一 MATLAB数字图像处理初步一、实验目的与要求1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.图像间如何转化。
二、实验内容及步骤1.利用imread( )函数读取一幅图像,假设其名为flower.tif,存入一个数组中;2.利用whos 命令提取该读入图像flower.tif的基本信息;3.利用imshow()函数来显示这幅图像;4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg 文件,设为flower.jpg;语法:imwrite(原图像,新图像,‘quality’,q), q取0-100。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp 图像,设为flower.bmp。
7.用imread()读入图像:Lenna.jpg 和camema.jpg;8.用imfinfo()获取图像Lenna.jpg和camema.jpg 的大小;9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。
10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow 显示出来观察图像的特征。
基于MATLAB的图像处理的基本运算————————————————————————————————作者:————————————————————————————————日期:课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目: 基于MATLAB的图像处理的基本运算初始条件:要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)(1)能够对图像亮度和对比度变化调整,并比较结果(2)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的和旋转操作,并保存,比较几种插值的效果(3)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。
(4)对图像加入各种噪声,比较效果。
时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要..................................................................................................................................................... - 2 -1 MATLAB简介 ................................................................................................................................... - 2 -2图像选择及变换.............................................................................................................................. - 3 -2.1 原始图像选择读取.................................................................................................................. - 3 -2.1.1 原理图的读入与基本变换 ............................................................................................... - 3 -2.1.2 程序源代码及调试结果 ................................................................................................... - 4 -2.2 转换图像为灰阶图像.............................................................................................................. - 5 -3 图像处理及代码程序 ..................................................................................................................... - 6 -3.1 图像亮度对比度调整.............................................................................................................. - 6 -3.1.1 函数说明及参数选择....................................................................................................... - 6 -3.1.2 源程序及运行结果........................................................................................................... - 6 -3.2 图像放大和缩小...................................................................................................................... - 7 -3.2.1 函数说明及参数选择....................................................................................................... - 7 -3.2.2 源程序及运行结果........................................................................................................... - 7 -3.3 图像任意角度的旋转.............................................................................................................. - 8 -3.3.1 函数说明及参数旋转....................................................................................................... - 8 -3.3.2 源程序及运行结果........................................................................................................... - 9 -3.4图像直方图统计和均衡........................................................................................................... - 9 -3.4.1 函数说明及参数选择....................................................................................................... - 9 -3.4.2 源程序及运行结果......................................................................................................... - 10 -3.5 图像加入噪声........................................................................................................................ - 11 -3.5.1 函数说明及参数选择..................................................................................................... - 11 -3.5.2 源程序及运行结果......................................................................................................... - 12 -4 图像处理结果比较分析 ............................................................................................................... - 14 -4.1 调整对比度和亮度后图像比较 ............................................................................................ - 14 -4.2 图像放大缩小及旋转后比较 ................................................................................................ - 14 -4.3 进行直方图均衡后图像比较 ................................................................................................ - 15 -4.4加入各种噪声后图像比较 ..................................................................................................... - 16 -5感悟体会小结................................................................................................................................ - 16 -参考文献........................................................................................................................................... - 17 -摘要本篇设计通过matlab进行图像的亮度对比度变化、亮度的缩小放大和旋转、直方图统计和直方图均衡、以及加入各种噪声,使用各种程序和函数,来完成上述功能,并分别对结果进行分析与调试。
matlab加减乘除运算顺序
1.加、减运算;乘、除法
运算符:“+”和“-”分别为加、减运算符。
运算符:*
运算优先级规则:
表达式按照从左到右的顺序进行计算,其中指数运算的优先级最高;乘法和除法次之,两者具有相同的优先级;加法和减法的优先级最低,两者具有相同优先级;括号优先级将改变上述优先级,有多重括号时优先级从外到内升高。
2.向量点积
函数dot
格式C=dot(A,B)%若A、B为向量,则返回向量A与B的点积,A与B长度
相同;若为矩阵,则A与B有相同的维数。
3.向量叉乘
在数学上,两向量的叉乘是一个过两相交向量的交点且垂直于两向量所在平面的向量。
在Matlab中,用函数cross实现。
函数cross
格式C=cross(A,B)%若A、B为向量,则返回A与B的叉乘,即C=A×B,A、B必须是3个元素的向量;若A、B为矩阵,则返回一个3×n矩阵,其中的列是A与B对应列的叉积,A、B都是3×n矩阵。
C=cross(A,B,dim)%在dim维数中给出向量A与B的叉积。
A 和B必须具有相同的维数。
MATLAB技术图像更正方法在当今数字图像处理技术的发展中,图像更正方法在各个领域都起着重要的作用。
无论是摄影、医学成像还是遥感图像处理,图像更正能够有效地提升图像质量和准确性。
MATLAB作为一款强大的数学计算和编程软件,提供了丰富的图像处理工具箱,可以帮助我们实现各种图像更正方法。
下面将介绍几种常见的MATLAB技术图像更正方法。
一、灰度拉伸灰度拉伸是一种常用的图像对比度增强方法,能够调整图像灰度级的分布范围,使得图像的细节信息得以显示。
在MATLAB中,可以使用imadjust函数来实现灰度拉伸。
该函数通过调整输入图像的像素强度范围,线性地映射到指定的输出范围。
二、直方图均衡化直方图均衡化是一种用于增强图像对比度的非线性方法。
通过对图像的灰度直方图进行改变,使得所有灰度级在统计上具有相同的概率分布。
在MATLAB中,可以使用histeq函数实现直方图均衡化。
该函数将输入图像的直方图分布均匀化,并返回均衡化后的图像。
三、滤波更正图像的退化常常来自于传感器噪声、运动模糊等因素。
为了消除这些影响,可以采用滤波更正方法。
MATLAB中提供了各种滤波器函数,如均值滤波、中值滤波、高斯滤波等。
这些函数通过对图像进行滤波操作,能够去除噪声和模糊,恢复图像的细节和清晰度。
四、几何校正几何校正是一种用于修复图像畸变的方法,常用于计算机视觉、遥感图像处理等领域。
MATLAB提供了几何校正工具箱,可以对图像进行旋转、平移、缩放和投影等操作,从而纠正图像的几何形状。
五、颜色校正颜色校正是一种用于调整图像颜色平衡的方法。
在摄影和印刷领域,常常需要保证图像的色彩准确性。
MATLAB中的colorcorrection包提供了一系列用于颜色校正的函数。
这些函数可以根据不同的颜色空间理论进行图像校正,确保图像颜色的一致性和准确性。
六、图像融合图像融合是将多幅图像的信息融合到一幅图像中的过程。
在摄影测量和遥感图像处理中,图像融合常用于增强图像细节和提升图像分辨率。
在MATLAB中进行图像处理的方法引言图像处理是一门研究如何对数字图像进行分析、处理和识别的学科。
在现代社会中,图像处理已经广泛应用于各个领域,如医学影像、电子商务和计算机视觉等。
MATLAB是一种强大的数值计算环境和编程语言,被广泛用于图像处理领域。
在本文中,我们将介绍在MATLAB中进行图像处理的一些常见方法。
一、图像读取与显示在MATLAB中,可以使用imread函数读取图像文件,并使用imshow函数显示图像。
例如,可以使用以下代码读取并显示一张图像:```matlabimg = imread('image.jpg');imshow(img);```二、图像增强图像增强是指通过改变图像的外观或质量,以提高图像的观感和可识别性。
在MATLAB中,有多种方法用于图像增强。
下面介绍其中的几种方法:1. 灰度转换灰度转换是将彩色图像转换为灰度图像的过程。
在MATLAB中,可以使用rgb2gray函数将彩色图像转换为灰度图像。
例如,可以使用以下代码实现灰度转换:```matlabgray_img = rgb2gray(img);imshow(gray_img);```2. 直方图均衡化直方图均衡化是一种常用的图像增强方法,用于提高图像的对比度。
在MATLAB中,可以使用histeq函数实现直方图均衡化。
例如,可以使用以下代码实现直方图均衡化:```matlabeq_img = histeq(gray_img);imshow(eq_img);```3. 锐化锐化是一种增强图像边缘和细节的方法。
在MATLAB中,可以使用imsharpen 函数对图像进行锐化处理。
例如,可以使用以下代码实现图像锐化:```matlabsharp_img = imsharpen(img);imshow(sharp_img);```三、图像滤波图像滤波是指对图像进行平滑处理以去除噪声或减小图像细节的过程。
在MATLAB中,有多种滤波方法可供选择。
实验一:熟悉Matlab图像处理工具箱一.实验目的:1.熟悉matlab图像处理工具箱;2.了解图像处理的函数及使用方法;3.学会简单的图像处理方法;二.实验原理1.二值图像二值图像是一种简单的图像格式,“0”表示黑色像素点,“255”表示白色像素点,二值图像处理运算是从数学形态学下的集合论发展起来的,基本运算比较简单,却可以产生复杂的效果。
2.反色图像对于彩色图像的R,G,B各彩色分量取反的技术就是反色处理,这在二值化图像的连通区域选取的时候非常重要,如物体连通域用黑色表示,而二值化后的物体连通域图像可那是白色的,二背景是黑色的,这时应手动选取图像的反色处理或有程序根据背景和物体连通域两种颜色的数量所占比例而自动选择是否选取图像的反色处理。
3.水平镜像图像的水平镜像是指将指定区域的图像以原图像的垂直中轴线为中心,将图像分为左右两部分进行对称变换显示在屏幕。
水平镜像时每行图像信息的处理方式是相同的,而且行顺序不发生变化,只是每一行的像素信息按从左到右的顺序进行了左右颠倒,所以镜像后图像的高和宽不变。
设图像的高度为Height,宽度为width,原图中坐标为(x0,y0)的点经过水平镜像后,则点(x0,y0)的坐标为(x1,y1)。
(x0,y0)和(x1,y1)的关系如下:x1=Width-x0 y1=y04.垂直翻转图像的翻转有两种,一种是水平翻转,一种是垂直翻转。
水平翻转会产生左右对调的图像,垂直翻转会产生上下对调的图像。
5.旋转30度如果果一个点(x1,y1)旋转到(x2,y2),对应的角度旋转从θ1到θ1+θ2sinθ1=y1/sqrt(x1*x1+ y1*y1)cosθ1=x1/sqrt(x1*x1+ y1*y1)sin(θ1+θ2)=sin(θ1)*cos(θ2)+cos(θ1)*sin(θ2)=y2/sqrt(x2*x2+y2*y2);cos(θ1+θ2)=cos(θ1)*cos(θ2)-sin(θ1)*sin(θ2)=x2/sqrt(x2*x2+y2*y2)。
实验1——Matlab图像处理初步
实验目的:熟悉Matlab语言关于图像处理的基本操作
实验内容:练习imread、imshow、iminfo、imwrite、subplot、for等命令以及矩阵计算有关命令。
实验要求:
1、读取并显示cameraman.tif图像(提示:imread)。
2、将图像中间的1/3部分(如图)分别作如下处理,其余部分不变
a) 每个像素点的值都乘以2,即f(x,y)=2*f(x,y),显示处理前后的图像(提
示:imshow),同一个图像窗口左右显示(提示:subplot),左边显示原
始图像,右边显示处理后图像,处理后图像保存为cameraman1.bmp(提
示:imwrite)
b) 每个像素点取反色,即f(x,y)=255-f(x,y);显示处理前后的图像,同一个
图像窗口上下显示(提示:subplot),上边显示原始图像,下边显示处理
后图像,处理后图像保存为cameraman2.bmp(提示:imwrite)
3、撰写实验报告并附上所用程序和结果。
f=imread('cameraman.tif');
[m n]=size(f);
g=f;
r=round(m/3);
c=round(n/3);
for i=r:2*r
for j=c:2*c
g(i,j)=2*f(i,j);
end
end
subplot(2,1,1),imshow(f);
subplot(2,1,2),imshow(g);
imwrite(g,'cameraman1.bmp','bmp');
2013-12-16。
使用Matlab进行数字图像处理和图像增强数字图像处理是一门研究如何对数字图像进行处理和改变的学科,其应用广泛,包括医学图像处理、计算机视觉、遥感图像分析等。
而Matlab作为一种强大的数学计算软件,提供了丰富的数字图像处理工具箱,可以辅助我们进行各种图像处理和增强的操作。
在数字图像处理中,我们常常需要对图像进行滤波操作。
滤波可以用于去除图像中的噪声、增强图像的细节等。
Matlab提供了各种滤波器函数,如高斯滤波器、中值滤波器等。
其中,高斯滤波器是最常用的一种滤波器,可以通过控制滤波器的尺寸和方差来实现不同程度的平滑效果。
除了滤波操作,Matlab还提供了许多用于图像增强的函数。
图像增强是指通过一系列操作,使得图像更加清晰、鲜艳和易于分析。
其中最常用的图像增强方法包括直方图均衡化、对比度拉伸和锐化等。
直方图均衡化可以通过调整图像的灰度分布来增强图像的对比度和细节。
对比度拉伸可以通过线性拉伸或非线性拉伸来增强图像的对比度。
而锐化可以通过增强图像的高频部分来使得图像更加清晰。
在Matlab中,进行图像处理和增强的流程是相对简单的。
首先,我们需要读取图像并将其转化为灰度图像。
然后,我们可以使用各种滤波器来平滑图像或者去除噪声。
接下来,可以进行图像增强的操作,如直方图均衡化和对比度拉伸。
最后,我们可以将处理后的图像保存或者显示出来。
除了提供了丰富的函数和工具箱外,Matlab还有一个强大的交互式编辑环境,可以让我们更加方便地进行图像处理和增强的实验和调试。
在Matlab的命令窗口中,我们可以直接输入命令进行图像处理操作,也可以使用图形用户界面(GUI)进行交互操作。
这种交互式的编辑环境使得我们能够更加直观地理解和掌握数字图像处理的概念和方法。
总结起来,Matlab是一种强大的数学计算软件,提供了丰富的数字图像处理和增强工具。
通过使用Matlab,我们可以进行各种图像处理和增强的操作,如滤波、直方图均衡化和对比度拉伸等。
实践一:图像打开和缩放
1.1实践代码:
clear all
I=imread('cat.bmp');
J=imresize(I,0.2);%图像缩小为0.2
J2=imresize(J,15,'nearest');%图像放大,最近邻插值法
J3=imresize(J,15,'bilinear');%图像放大,双线性插值法
J4=imresize(J,15,'bicubic');%图像放大,双立方插值法
subplot(2,2,1);imshow(I);
title('原始图像');
subplot(2,2,2);imshow(J2);
title('最近邻插值法');
subplot(2,2,3);imshow(J3);
title('双线性插值法');
subplot(2,2,4);imshow(J4);
title('双立方插值法');
1.2实践结果截图:
实践二:直方图均衡化
2.1实践代码:
clear all;
I=imread('girl.bmp');
subplot(221);imshow(I);
title('原始图像');
subplot(222);imhist(I);
title('原始图像的直方图');
I1=histeq(I);
subplot(223);imshow(I1);
title('原始图像的均衡化');
subplot(224);imhist(I1);
title('均衡化图像的直方图');
2.2实践结果截图:
实践三:对比度调节
3.1实践代码:
I=imread('catwb.bmp');
J=imadjust(I,[0.3 0.7],[]);
subplot(1,2,1),imshow(I),title('实验原图')
subplot(1,2,2),imshow(J),title('对比度增强效果图')
3.2实践结果截图:
实践四:反色
4.1实践代码:
X1=imread('girl.bmp');
f1=200;
g1=256;
k=g1/f1;
[m,n]=size(X1);
X2=double(X1);
for i=1:m
for j=1:n
f=X2(i,j);
g(i,j)=0;
if(f>=0)&(f<=f1)
g(i,j)=g1-k*f;
else
g(i,j)=0;
end
end
end
subplot(121);imshow(X1);title('原始图像');
subplot(122);imshow(mat2gray(g));title('反色后的图像');
4.2实践结果截图:
实践五:图像的加减乘除法运算
5.1实践代码:
%加减乘除运算
I=imread('girl.bmp');
J=imadd(I,50);%数值与图像相加
background=imopen(I,strel('disk',15));
Ip=imsubtract(I,background);%图像相减
M=immultiply(I,0.5);%图像相乘
It=imdivide(I,background);%图像相除
subplot(231),imshow(I);
title('原始图像');
subplot(232),imshow(J);
title('图像相加效果图');
subplot(233),imshow(Ip);
title('图像相减效果图');
subplot(234),imshow(M);
title('图像相乘效果图');
subplot(236),imshow(It,[]);
title('图像相除效果图');
K=imread('couple.bmp');
H=imadd(I,K,'uint16');%两个尺寸一样的图像相加
%转换数据类型相加图像数据
figure;subplot(131);imshow(I);
title('girl的原始图像');
subplot(132);imshow(K);
title('couple的原始图像');
subplot(133);imshow(H,[]);
title('两图像相加效果图');
5.2实践结果截图:
(注:可编辑下载,若有不当之处,请指正,谢谢!)