西安交大数字图像处理第二次实验报告

合集下载

西安交通大学数字图像处理第二次作业知识分享

西安交通大学数字图像处理第二次作业知识分享

数字图像处理的基本数学工具的使用摘要本报告主要介绍了运用编程软件MATLAB对图像灰度级进行变换、求取图像均值与方差、采用不同的内插方法对图像进行缩放及利用仿射变换对图像进行空间变换处理的方法。

同时,对最近邻内插法、双线性内插法、双三次内插法进行图像处理的效果进行了详细的对比,并对出现差异的原因做出了简要分析。

姓名: X X X班级:学号:提交日期:年月日2_1. 把lena 512*512图像灰度级逐级递减8-1显示;(1)问题分析:所要实现的功能是:在不改变图像大小的前提下,使得整幅图像的灰度级逐级递减并将图像显示出来;即对所有像素点的灰度依次进行除2操作;(2)实验过程:工具:MATLAB软件;利用imread()函数将图像读入MATLAB,利用imshow()对原图像进行显示,再利用循环体对整幅图像的灰度级逐级递减并一一进行显示。

源代码附于本报告最后一部分。

(3)实验结果:备注:在大小为512X512的途中观察更为方便,但此处为了便于排版以及将结果进行对比对所有图像做了一定的缩小。

a bc de fg h图2_1 (a)大小为512X512的256灰度级图像;(b)~(h)保持图像大小不变的同时以灰度级128,62,32,16,8,4,2显示的图像。

(4)结果分析:对图2_1中的(a)~(h)图像进行对比可知,256级、128级、64级以及32级灰度的图像几乎没有太大的区别;然而在灰度级为16的图(e)中出现了较为明显的伪轮廓,这种效果是由数字图像的平滑区域中的灰度级数不足引起的。

(说明:此分析为本人肉眼的观察结果,对细节的观察难免存在疏漏之处,还请批评指正。

)2_2. 计算lena图像的均值方差;(1)问题分析:所要实现的功能是:计算图像‘lena.bmp’的均值与方差;(2)实验过程:工具:MATLAB软件;利用imread()函数将图像读入MATLAB,由于二维数字图像使用二维阵列表示的,因而可以直接利用MATLAB中的mean2()及std2()分别求整幅图像的均值于方差;源代码附于本报告最后一部分。

数字图像处理实验实验报告 实验二

数字图像处理实验实验报告 实验二

数字图像处理实验实验报告(实验一)一、实验目的:1、直方图显示2、计算并绘制图像直方图3、直方图均衡化二.程序脚本clear all;RGB=imread('me.jpg');figure;imshow(RGB);title('图1 彩色图');%========================================================== I=rgb2gray(RGB);figure;imshow(I);title('图2 灰度图');%========================================================= figure;imhist(I);title('灰度直方图');%========================================================= hi=imhist(I);j=1;%为使画出的直方图更好看,在此进行了抽样for(i=1:256)if(mod(i,10)==1)h(j)=hi(i);j=j+1;endendn=0:10:255;figure;stem(n,h);axis([0 255 0 2500]);title('图3.1 stem显示直方图');figure;bar(n,h);axis([0 255 0 2500]);title('图3.2 bar显示直方图');figure;plot(n,h);axis([0 255 0 2500]);title('图3.3 plot显示直方图');%========================================================= I=rgb2gray(RGB);figure;subplot(3,2,1);imshow(I);title('图4.1 原始灰度图');subplot(3,2,2);imhist(I);title('图4.2 原始灰度直方图');%=============================J1=imadjust(I);subplot(3,2,3);imshow(J1);title('调整对比度以后的图');subplot(3,2,4);imhist(J1);title('调整对比度以后的灰度直方图');%=================================J2=histeq(I);subplot(3,2,5);imshow(J2);title('均衡化以后的的图');subplot(3,2,6);imhist(J2);title('均衡化以后的灰度直方图');三.实验结果图1 彩色图图2 灰度图010002000灰度直方图10020010020005001000150020002500图3.1 stem 显示直方图10020005001000150020002500图3.2 bar 显示直方图10020005001000150020002500图3.3 plot 显示直方图图4.1 原始灰度图10002000图4.2 原始灰度直方图0100200调整对比度以后的图010002000调整对比度以后的灰度直方图0100200均衡化以后的的图02000均衡化以后的灰度直方图100200。

西南交大数字图像处理第二次试验

西南交大数字图像处理第二次试验

西南交⼤数字图像处理第⼆次试验数字图像处理第⼆次实验注意提交实验报告的⽂件名格式(姓名+学号+实验报告⼆.doc)实验三灰度变换增强⼀、实验⽬的1.熟悉matlab图像处理⼯具箱及直⽅图函数的使⽤;2.了解灰度变换增强的Matlab实现⽅法3.掌握直⽅图灰度变换⽅法4.理解和掌握直⽅图原理和⽅法;⼆、实验内容1. 线段上像素灰度分布读⼊灰度图像'peppers_gray.bmp',采⽤交互式操作,⽤improfile绘制⼀条线段的灰度值。

imshow(rgb2gray(imread('peppers.bmp')))Improfile读⼊RGB图像‘flowers.tif’,显⽰所选线段上红、绿、蓝颜⾊分量的分布imshow('flowers.tif')Improfile2. 直⽅图变换A)直⽅图显⽰在matlab环境中,程序⾸先读取图像'cameraman.tif',然后调⽤直⽅图函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif'); %读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直⽅图title('原始图像直⽅图') %在原图直⽅图上加标题读⼊图像‘rice.png’,在⼀个窗⼝中显⽰灰度级n=64,128和256的图像直⽅图。

I=imread('rice.png');imshow(I)I=imread('rice.png');subplot(1,3,1),imhist(I,64)title('n=64')subplot(1,3,2),imhist(I,128)title('n=128')subplot(1,3,3),imhist(I,256)title('n=256')B)直⽅图灰度调节利⽤函数imadjust调解图像灰度范围,观察变换后的图像及其直⽅图的变化。

《数字图像处理》实验报告

《数字图像处理》实验报告

《数字图像处理》实验报告数字图像处理是一门将图像进行数字化处理的学科,它通过计算机算法和技术手段对图像进行分析、增强、压缩和重建等操作。

在本次实验中,我们学习了数字图像处理的基本概念和常用算法,并通过实验来探索其应用和效果。

首先,我们进行了图像的读取和显示实验。

通过使用Python中的OpenCV库,我们能够轻松地读取图像文件,并将其显示在屏幕上。

这为我们后续的实验奠定了基础。

同时,我们还学习了图像的像素表示方法,了解了图像由像素点组成的原理。

这使我们能够更好地理解后续实验中的算法和操作。

接下来,我们进行了图像的灰度化实验。

灰度化是将彩色图像转换为灰度图像的过程。

在实验中,我们使用了不同的算法来实现灰度化操作,包括平均值法、最大值法和加权平均法等。

通过比较不同算法得到的灰度图像,我们发现不同算法对图像的处理效果有所差异,这使我们深入理解了灰度化的原理和应用。

随后,我们进行了图像的直方图均衡化实验。

直方图均衡化是一种用于增强图像对比度的方法。

在实验中,我们使用了直方图均衡化算法来对图像进行处理,并观察了处理前后的效果变化。

通过实验,我们发现直方图均衡化能够显著提高图像的对比度,使图像更加清晰和鲜明。

在进一步探索图像处理技术的过程中,我们进行了图像的滤波实验。

滤波是一种常用的图像处理操作,它通过对图像进行卷积操作来实现。

在实验中,我们学习了不同类型的滤波器,包括均值滤波器、高斯滤波器和中值滤波器等。

通过比较不同滤波器对图像的处理效果,我们发现每种滤波器都有其适用的场景和效果。

此外,我们还进行了图像的边缘检测实验。

边缘检测是一种用于提取图像边缘信息的方法。

在实验中,我们学习了不同的边缘检测算法,包括Sobel算子、Canny算子和Laplacian算子等。

通过比较不同算法对图像的处理效果,我们发现每种算法都有其独特的特点和应用。

最后,我们进行了图像的压缩实验。

图像压缩是一种将图像数据进行压缩以减小文件大小的方法。

数字图像处理实验报告

数字图像处理实验报告

实 验 内 容
3-2 根据直方图定义,通过结构化编程方式给出 3-1)中灰度图像像素点统计形式的直方图,并与利用 函数调用方式获得的直方图在两个不同窗口中进行比较,两窗口图像名称分别为”编程直方图”、”函 数调用直方图”; 参考函数 imread、size、bar、imhist、image I=imread('panda.jpg'); B=rgb2gray(I); A=uint8(B); [m n]=size(B); s=zeros(m,n); for i=1:m for j=1:n for rank=0:255 if B(i,j)==rank s(rank+1)=s(rank+1)+1; end
在水平和垂直方 列的方式同时显
I=imread('panda.jpg');
subplot(1,3,1);imshow(I)
subplot(1,3,2);imshow(I)
colorbar
subplot(1,3,3);imshow(I)
colorbar('horizontal')
实 验 1)、实验采用的原始图片要求是包含自己头像的照片,图片大小控制在 640×480 之内; 要 2)、实验中的当前工作目录采用 MATLAB 目录下的 work 文件夹。 求
学号
12109940423 指导教师
实验地点
1C06-329
实验成绩
图像灰度统计特性及其相关变换
12 级 1 班 杜云明
实 理解直方图的形成原理,掌握绘制灰度直方图的方法;熟悉图像灰度直方图的变换及直方图均衡化方 验 法;理解图像灰度变换处理在图像增强中的作用;熟悉图像灰度分布统计与图像视觉质量之间的关系; 目 通过工具箱函数调用和结构化编程两种方式实现图像的相关处理,在加深理解基本原理的同时,提高 的 编程实践的技巧和能力。

数字图像处理实验二报告

数字图像处理实验二报告

贵州大学实验报告学院:专业:班级:姓名学号实验组实验时间指导教师成绩实验项目名称实验二:数字图像的空域增强处理实验目的通过本实验的学习使学生熟悉和掌握数字图像中的空域增强的一些典型方法:直方图的均衡化处理、平滑滤波、锐化滤波。

实验要求集中授课的教学形式实验原理1、直方图均衡化:基本思想:把原始图的直方图变换为均匀分布的形式,这样就增加了灰度值的动态范围从而达到增强图像整体对比度的效果。

其优点是能自动地增强整个图像的对比度。

均衡化步骤:(1)列出原始灰度级;(2)归一化原始灰度级;(3)统计原始直方图个灰度级像素kn;(4)计算原始直方图;(5)计算累计直方图;(6)确定映射关系(原则是:取最靠近的灰度级别);(7)统计新直方图各灰度级像素kn(8)计算新直方图;也可以用以下方法:(1)计算出原始图像的所有灰度级ks,1,,1,0-=Lk ;(2)统计原始图像各灰度即的像素数k n ;(3)计算原始图像的直方图n n s p kk =)(,1,,1,0-=L k ;(4)计算原始图像的累积直方图)()(00∑∑=====ki i s ki ik k s p n n s EH t ;(5)取整运算:])1int[(N kt N t k k +-=;(6)定义映射关系k k t s →;(7)统计新直方图各灰度级的像素数k n ;(8)计算新的直方图n n t p kk t =)(;2、邻域平均法对含噪声原始图像),(y x f 的每个像素点取一个邻域S 。

计算S 中的所有像素灰度级的平均值,作为空间域平均处理后图像),(y x g 的像素值。

即:∑∈=Sy x y x f My x g ),(),(1),(其中M 为邻域S 中的像素点数。

3、中值滤波对含噪声原始图像),(y x f 的每个像素点取一个邻域S (一般选取奇数点模板窗口)。

选取S 中的所有像素灰度级的中间值,作为空间域平均处理后图像),(y x g 的像素值。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理试验报告实验二:数字图像的空间滤波与频域滤波姓名:XX学号:2XXXXXXX 实验日期:2017 年4 月26 日1、实验目的1、掌握图像滤波的基本定义及目的。

2、理解空间域滤波的基本原理及方法。

3、掌握进行图像的空域滤波的方法。

4、掌握傅立叶变换及逆变换的基本原理方法。

5、理解频域滤波的基本原理及方法。

6、掌握进行图像的频域滤波的方法。

2、实验内容与要求1、平滑空间滤波:1) 读出一幅图像,给这幅图像分别加入椒盐噪声与高斯噪声后并与前一张图显示在同一图像窗口中。

2) 对加入噪声图像选用不同的平滑(低通)模板做运算,对比不同模板所形成的效果, 要求在同一窗口中显示。

3) 使用函数 imfilter 时, 分别采用不同的填充方法( 或边界选项, 如零填充、’replicate’、’symmetric’、’circular’)进行低通滤波,显示处理后的图像。

4) 运用for 循环,将加有椒盐噪声的图像进行10 次,20 次均值滤波,查瞧其特点, 显示均值处理后的图像(提示:利用fspecial 函数的’average’类型生成均值滤波器)。

5) 对加入椒盐噪声的图像分别采用均值滤波法,与中值滤波法对有噪声的图像做处理,要求在同一窗口中显示结果。

6) 自己设计平滑空间滤波器,并将其对噪声图像进行处理,显示处理后的图像。

2、锐化空间滤波1) 读出一幅图像,采用3×3 的拉普拉斯算子 w = [ 1, 1, 1; 1 – 8 1; 1, 1, 1]对其进行滤波。

2) 编写函数w = genlaplacian(n),自动产生任一奇数尺寸n 的拉普拉斯算子,如5×5的拉普拉斯算子w = [ 1 1 1 1 11 1 1 1 11 1 -24 1 11 1 1 1 11 1 1 1 1]3) 分别采用5×5,9×9,15×15与25×25大小的拉普拉斯算子对blurry_moon、tiff (x, y) -∇2 f (x, y) 完成图像的锐化增强,观察其有何进行锐化滤波,并利用式g(x, y) =不同,要求在同一窗口中显示。

数字图像处理实验报告

数字图像处理实验报告

《数字图像处理》实验报告目录第一章实验一数字图像的基本操作和灰度变换 (3)1.1实验目的 (3)1.2实验原理与方法 (3)1.3实验内容与结果分析 (4)1.4思考问题 (8)第二章实验二图像的空间域增强 (9)2.1实验目的 (9)2.2实验原理与方法 (9)2.3实验内容与结果分析 (10)2.4思考问题 (16)第三章实验三图像的傅里叶变换和频域处理 (17)3.1实验目的 (17)3.2实验原理与方法 (17)3.3实验内容与结果分析 (18)附录:实验代码 (23)第一章实验一数字图像的基本操作和灰度变换1.1实验目的①了解数字图像的基本数据结构②熟悉Matlab中数字图像处理的基本函数和基本使用方法③掌握图像灰度变换的基本理论和实现方法④掌握直方图均衡化增强的基本理论和实现方法1.2实验原理与方法1.2.1图像灰度的线性变换灰度的线性变换可以突出图像中的重要信息。

通常情况下,处理前后的图像灰度级是相同的,即处理前后的图像灰度级都为[0,255]。

那么,从原理上讲,我们就只能通过抑制非重要信息的对比度来腾出空间给重要信息进行对比度展宽。

设原图像的灰度为),(j i f ,处理后的图像的灰度为),(j i g ,对比度线性展宽的原理示意图如图1.1所示。

假设原图像中我们关心的景物的灰度分布在[a f ,b f ]区间内,处理后的图像中,我们关心的景物的灰度分布在[a g ,b g ]区间内。

在这里)(a b g g g -=∆()b a f f f >∆=-,也就是说我们所关心的景物的灰度级得到了展宽。

根据图中所示的映射关系中分段直线的斜率我们可以得出线性对比度展宽的计算公式:),(j i f α, a f j i f <≤),(0=),(j i ga a g f j i f +-)),((β,b a f j i f f <≤).,( (1-1)b b g f j i f +-)),((γ,255),(<≤j i f f b(m i ,3,2,1Λ=;n j ,3,2,1Λ=) 其中,a a f g =α,a b a b f f g g --=β,bbf g --=255255γ,图像的大小为m ×n 。

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)

数字图像处理实验报告(五个实验全)实验⼀ Matlab图像⼯具的使⽤1、读图I=imread('lena.jpg');imshow(I);2、读⼊⼀幅RGB图像,变换为灰度图像和⼆值图像,并在同⼀个窗⼝内分成三个⼦窗⼝来分别显⽰RGB图像和灰度图像。

a=imread('lena.jpg')i = rgb2gray(a)I = im2bw(a,0.5)subplot(3,1,1);imshow(a);subplot(3,1,2);imshow(i);subplot(3,1,3);imshow(I);原图像灰度图像⼆值图像实验⼆图像变换1、对⼀幅图像进⾏平移,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与平移后傅⾥叶频谱的对应关系。

s=imread('beauty.jpg');i=rgb2gray(s)i=double(i)j=fft2(i);k=fftshift(j); 原图像原图的傅⾥叶频谱l=log(abs(k));m=fftshift(j);RR=real(m);II=imag(m);A=sqrt(RR.^2+II.^2);A=(A-min(min(A)))/(max(max(A)))*255;b=circshift(s,[800 450]);b=rgb2gray(b)b=double(b) 平移后的图像平移后的傅⾥叶频谱c=fft2(b);e=fftshift(c);l=log(abs(e));f=fftshift(c);WW=real(f);ZZ=imag(f);B=sqrt(WW.^2+ZZ.^2);B=(B-min(min(B)))/(max(max(B)))*255;subplot(2,2,1);imshow(s);subplot(2,2,2);imshow(uint8(b));subplot(2,2,3);imshow(A);subplot(2,2,4);imshow(B);2、对⼀幅图像进⾏旋转,显⽰原始图像与处理后图像,分别对其进⾏傅⾥叶变换,显⽰变换后结果,分析原图的傅⾥叶谱与旋转后傅⾥叶频谱的对应关系。

数字图像处理实验报告01245

数字图像处理实验报告01245

数字图像处理实验报告01245数字图像处理实验报告一、实验名称图像读取和图像直方图统计二、实验目的 1. 强化巩固《数字图像处理》课程中学习的知识,将理论用于实践。

2. 学会利用 C++程序语言实现数字图像处理中的“图像读取”和“图像直方图统计”功能,加深对这门课程的理解。

3. 为以后更进一步学习数字图像处理的知识打下基础。

三、实验工具安装有 VC 6.0 软件的电脑一台四、实验步骤(分实验一和实验二)(一) 实验一:图像的读取 1. 按照实验指导书中的构建DIB 函数库的方法,将此函数库的代码写进文本文档中,并另存为相应的“.cpp”文件和“.h”文件。

2. 新建以“Miaoqi”为名字的工程,设置好相应选项。

3. 接下来,在该工程中各个文件中添加相应代码。

点击“FileView”即可打开查看。

1) 在“Miaoqi.cpp”中添加 // 启动时不自动打开一个空文档cmdInfo.m_nShellCommand =CCommandLineInfo::FileNothing; 2) 在“ MiaoqiDoc.cpp ” 中添加重新加载菜单,对应函数ON_COMMAND(ID_FILE_REOPEN, OnFileReopen)的功能:-a) 点击“ResourceView”—“Miaoqiresources”—“Menu”—“IDR_MIAOQI_TYPE”,则跳出一个视图的框架,点击“文件”,将按钮拖拽到合适的位置,再右击,点击属性,设置重新加载相应的 ID 和 Caption。

b) 点击查看—建立类向导—“ID_File_Reopen”—“Command”—设置函数名“OnFileReopen”,点击确定。

3) 在“Miaoqi Doc.cpp 中”添加代码,使在构造函数中初始化某些变量,在析构函数中撤销内存。

4) 点击“查看”—“建立类向导”,添加“BOOL MiaoqiDoc::CanCloseFrame(CFrameWnd*pFrame) ” 和“ void MiaoqiDoc::DeleteContents” 5) 按照实验指导书中的相应代码,完成“ MiaoqiDoc:: OnOpenDocument(LPCTSTR lpszPathName)”函数代码的添加,使之实现打开一个文件(即一副图像)的功能。

西安交大数字图像处理第二次实验报告

西安交大数字图像处理第二次实验报告

数字图像处理第二次作业摘要本次报告主要记录第二次作业中的各项任务完成情况。

本次作业以Matlab 2013为平台,结合matlab函数编程实现对lena.bmp,elain1.bmp图像文件的相关处理:1.分别得到了lena.bmp 512*512图像灰度级逐级递减8-1显示,2.计算得到lena.bmp图像的均值和方差,3.通过近邻、双线性和双三次插值法将lena.bmp zoom到2048*2048,4. 把lena和elain图像分别进行水平shear(参数可设置为1.5,或者自行选择)和旋转30度,并采用用近邻、双线性和双三次插值法zoom到2048*2048。

以上任务完成后均得到了预期的结果。

1.把lena 512*512图像灰度级逐级递减8-1显示(1)实验原理:给定的lena.bmp是一幅8位灰阶的图像,即有256个灰度色。

则K位灰阶图像中某像素的灰度值k(x,y)(以2k阶色为基准)与原图同像素的灰度值v(x,y)(以256阶色为基准)的对应关系为:k(x,y)=floor(v(x,y))28−k式中floor函数为向下取整操作。

取一确定k值,对原图进行上式运算即得降阶后的k位灰阶图像矩阵。

(2)实验方法首先通过imread()函数读入lena.bmp得到图像的灰度矩阵I,上式对I矩阵进行灰度降阶运算,最后利用imshow()函数输出显示图像。

对应源程序为img1.m。

(3)处理结果8灰度级7灰度级6灰度级5灰度级4灰度级3灰度级2灰度级(4)结果讨论:由上图可以看出,在灰度级下降到5之前,肉眼几乎感觉不出降阶后图像发生的变化。

但从灰度级4开始,肉眼明显能感觉到图像有稍许的不连续,在灰度缓变区常会出现一些几乎看不出来的非常细的山脊状结构。

随着灰度阶数的继续下降,图像开始出现大片的伪轮廓,灰度级数越低,越不能将图像的细节刻画出来,最终的极端情况是退化为只有黑白两色的二值化图像。

由此可以得出,图像采样的灰度阶数越高,灰度范围越大,细节越丰富,肉眼看去更接近实际情况。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告实验一数字图像的获取一、实验目的1、了解图像的实际获取过程。

2、巩固图像空间分辨率和灰度级分辨率、邻域等重要概念。

3、熟练掌握图像读、写、显示、类型转换等matlab函数的用法。

二、实验内容1、读取一幅彩色图像,将该彩色图像转化为灰度图像,再将灰度图像转化为索引图像并显示所有图像。

2、编程实现空间分辨率变化的效果。

三、实验原理1、图像读、写、显示I=imread(‘image.jpg’)Imview(I)Imshow(I)Imwrite(I,’wodeimage.jpg’)2、图像类型转换I=mat2gray(A,[amin,amax]);按指定的取值区间[amin,amax]将数据矩阵A转化为灰度图像I,amin对应灰度0,amax对应1,也可以不指定该区间。

[x,map]=gray2ind(I,n);按指定的灰度级n将灰度图像转化为索引图像,n默认为64I=ind2gray(x,map);索引图像转化为灰度图像I=grb2gray(RGB);真彩色图像转化为灰度图像[x,map]=rgb2ind(RGB);真彩色图像转化为索引图像RGB=ind2rgb(x,map);索引图像转化为真彩色图像BW=im2bw(I,level);将灰度图像转化为二值图像,level取值在[0,1]之间BW=im2bw(x,map,level);将索引图像转化为二值图像,level取值在[0,1]之间BW=im2bw(RGB,level);将真彩色图像转化为二值图像,level取值在[0,1]之间四、实验代码及结果1、in=imread('peppers.png');i=rgb2gray(in);[x,map]=gray2ind(i,128);subplot(131),imshow(in)subplot(132),imshow(i)subplot(133),imshow(x),colormap(map)2、%空间分辨率变化的效果clc,close all,cleari=imread('cameraman.tif');i=imresize(i,[256,256]);i1=i(1:2:end,1:2:end);[m1,n1]=size(i)i2=i1(1:2:end,1:2:end);[m2,n2]=size(i2)i3=i2(1:2:end,1:2:end);[m3,n3]=size(i3)subplot(221),imshow(i),xlabel('256x256')subplot(222),imshow(i1),xlabel('128x128')subplot(223),imshow(i2),xlabel('64x64')subplot(224),imshow(i3),xlabel('32x32')256 x 256128 x 12864 x 6432 x 32实验二图像的几何变换一、实验目的掌握图像的基本几何变换的方法1、图像的平移2、图像的旋转二、实验内容练习用matalb 命令实现图像的平移、旋转操作1、.编写实现图像平移的函数2、用imread 命令从你的硬盘读取一幅256×256灰度图;3、调用平移函数,将256×256灰度图平移100行200列,在同一个窗口中显示平移前和平移后的图像。

数字图像处理实验总结报告

数字图像处理实验总结报告

数字图像办理实验报告数字图像办理实验报告1一. 实验内容:主假如图像的几何变换的编程实现,详细包含图像的读取、改写,图像平移,图像的镜像,图像的转置,比率缩放,旋转变换等.详细要求以下:1.编程实现图像平移,要求平移后的图像大小不变;2.编程实现图像的镜像;3.编程实现图像的转置;4.编程实现图像的比率缩放,要求分别用双线性插值和近来邻插值两种方法来实现,并比较两种方法的缩放成效;5.编程实现以随意角度对图像进行旋转变换,要求分别用双线性插值和近来邻插值两种方法来实现,并比较两种方法的旋转成效.二.实验目的和意义:本实验的目的是使学生熟习并掌握图像办理编程环境,掌握图像平移、镜像、转置和旋转等几何变换的方法,并能经过程序设计实现图像文件的读、写操作,及图像平移、镜像、转置和旋转等几何变换的程序实现.三.实验原理与主要框架:3.1 实验所用编程环境:Visual C++(简称VC)是微软企业供给的鉴于C/C++的应用程序集成开发工具.VC拥有丰富的功能和大批的扩展库,使用它能有效的创立高性能的Windows应用程序和Web应用程序.VC除了供给高效的C/C++编译器外,还供给了大批的可重用类和组件,包含有名的微软基础类库(MFC)和活动模板类库(ATL),所以它是软件开发人员屈指可数的开发工具.VC丰富的功能和大批的扩展库,类的重用特征以及它对函数库、DLL 库的支持能使程序更好的模块化,并且经过导游程序大大简化了库资源的使用和应用程序的开发,正因为VC拥有显然的优势,因此我选择了它来作为数字图像几何变换的开发工具.在本程序的开发过程中,VC的核心知识、信息映照体制、对话框控件编程等都获取了生动的表现和灵巧的应用.3.2 实验办理的对象:256色的BMP(BIT MAP )格式图像BMP(BIT MAP )位图的文件结构:详细构成图: BITMAPFILEHEADER位图文件头(只用于BMP文件) bfType="BM" bfSize bfReserved1bfReserved2bfOffBitsbiSizebiWidthbiHeightbiPlanesbiBitCountbiCompressionbiSizeImagebiXPelsPerMeterbiYPelsPerMeterbiClrUsedbiClrImportant单色DIB有2个表项16色DIB有16个表项或更少256色DIB有256个表项或更少真彩色DIB没有调色板每个表项长度为4字节(32位)像素依据每行每列的次序摆列每一行的字节数一定是4的整数倍BITMAPINFOHEADER 位图信息头 Palette 调色板 DIB Pixels DIB图像数据1. BMP文件构成BMP文件由文件头、位图信息头、颜色信息和图形数据四部分构成.2. BMP文件头BMP文件头数据结构含有BMP文件的种类(一定为BMP)、文件大小(以字节为单位)、位图文件保存字(一定为0)和位图开端地点(以相关于位图文件头的偏移量表示)等信息.3. 位图信息头BMP位图信息头数据用于说明位图的尺寸(宽度,高度等都是以像素为单位,大小以字节为单位, 水平易垂直分辨率以每米像素数为单位) ,目标设施的级别,每个像素所需的位数, 位图压缩种类(一定是 0)等信息.4. 颜色表颜色表用于说明位图中的颜色,它有若干个表项,每一个表项是一个RGBQUAD种类的结构,定义一种颜色.详细包含蓝色、红色、绿色的亮度(值范围为0-255)位图信息头和颜色表构成位图信息5. 位图数据位图数据记录了位图的每一个像素值,记录次序是在扫描行内是从左到右,扫描行之间是从下到上.Windows规定一个扫描行所占的字节数一定是 4的倍数(即以long 为单位),不足的以0填补.3.3 BMP(BIT MAP )位图的显示:①一般显示方法:1. 申请内存空间用于寄存位图文件2. 位图文件读入所申请内存空间中3. 在函数顶用创立显示用位图, 用函数创立兼容DC,用函数选择显示删除位图但以上方法的弊端是: 1)显示速度慢; 2) 内存占用大; 3) 位图在减小显示时图形失真大,(可经过安装字体光滑软件来解决); 4) 在低颜色位数的设施上(如256显示模式)显示高颜色位数的图形(如真彩色)图形失真严重.②BMP位图缩放显示 :用视频函数来显示位图,内存占用少,速度快,并且还能够对图形进行淡化(Dithering )办理.淡化办理是一种图形算法,能够用来在一个支持比图像所用颜色要少的设施上显示彩色图像.BMP位图显示方法以下:1. 翻开视频函数,一般放在在结构函数中2. 申请内存空间用于寄存位图文件3. 位图文件读入所申请内存空间中4. 在函数中显示位图5. 封闭视频函数 ,一般放在在析构函数中以上方法的长处是: 1)显示速度快; 2) 内存占用少; 3) 缩放显示时图形失真小,4) 在低颜色位数的设施上显示高颜色位数的图形图形时失真小; 5) 经过直接办理位图数据,能够制作简单动画.3.4 程序顶用到的接见函数Windows支持一些重要的DIB接见函数,可是这些函数都还没有被封装到MFC中,这些函数主要有:1. SetDIBitsToDevice函数:该函数能够直接在显示器或打印机上显示DIB. 在显示时不进行缩放办理.2. StretchDIBits函数:该函数能够缩放显示DIB于显示器和打印机上.3. GetDIBits函数:还函数利用申请到的内存,由GDI位图来结构DIB.经过该函数,能够对DIB的格式进行控制,能够指定每个像素颜色的位数,并且能够指定能否进行压缩.4. CreateDIBitmap函数:利用该函数能够从DIB出发来创立GDI 位图.5. CreateDIBSection函数:该函数能创立一种特别的DIB,称为DIB项,而后返回一个GDI位图句柄.6. LoadImage函数:该函数能够直接从磁盘文件中读入一个位图,并返回一个DIB句柄.7. DrawDibDraw函数:Windows供给了窗口视频(VFW)组件,Visual C++支持该组件.VFW中的DrawDibDraw函数是一个能够代替StretchDIBits的函数.它的最主要的长处是能够使用颤动颜色,并且提升显示DIB的速度,弊端是一定将VFW代码连结到进度中.3.5 图像的几何变换图像的几何变换,往常包含图像的平移、图像的镜像变换、图像的转置、图像的缩放和图像的旋转等.数字图像办理实验报告2一、实验的目的和意义实验目的:本实验内容旨在让学生经过用VC等高级语言编写数字图像办理的一些基本算法程序,来稳固和掌握图像办理技术的基本技术,提升实质着手能力,并经过实质编程认识图像办理软件的实现的基来源理。

数字图像处理实验报告 (2)

数字图像处理实验报告 (2)

数字图像处理实验报告实验一数字图像基本操作及灰度调整一、实验目得1)掌握读、写图像得基本方法。

2)掌握MATLAB语言中图像数据与信息得读取方法。

3)理解图像灰度变换处理在图像增强得作用。

4)掌握绘制灰度直方图得方法,理解灰度直方图得灰度变换及均衡化得方法。

二、实验内容与要求1.熟悉MATLAB语言中对图像数据读取,显示等基本函数特别需要熟悉下列命令:熟悉imread()函数、imwrite()函数、size()函数、Subplot()函数、Figure()函数。

1)将MA TLAB目录下work文件夹中得forest、tif图像文件读出、用到imread,imfinfo等文件,观察一下图像数据,了解一下数字图像在MATLAB中得处理就就是处理一个矩阵。

将这个图像显示出来(用imshow)。

尝试修改map颜色矩阵得值,再将图像显示出来,观察图像颜色得变化。

2)将MATLAB目录下work文件夹中得b747、jpg图像文件读出,用rgb2gray()将其转化为灰度图像,记为变量B。

2.图像灰度变换处理在图像增强得作用读入不同情况得图像,请自己编程与调用Matlab函数用常用灰度变换函数对输入图像进行灰度变换,比较相应得处理效果。

3.绘制图像灰度直方图得方法,对图像进行均衡化处理请自己编程与调用Matlab函数完成如下实验。

1)显示B得图像及灰度直方图,可以发现其灰度值集中在一段区域,用imadjust函数将它得灰度值调整到[0,1]之间,并观察调整后得图像与原图像得差别,调整后得灰度直方图与原灰度直方图得区别。

2)对B进行直方图均衡化处理,试比较与源图得异同。

3)对B进行如图所示得分段线形变换处理,试比较与直方图均衡化处理得异同。

图1、1分段线性变换函数三、实验原理与算法分析1.灰度变换灰度变换就是图像增强得一种重要手段,它常用于改变图象得灰度范围及分布,就是图象数字化及图象显示得重要工具。

1)图像反转灰度级范围为[0,L-1]得图像反转可由下式获得2)对数运算:有时原图得动态范围太大,超出某些显示设备得允许动态范围,如直接使用原图,则一部分细节可能丢失。

数字图像处理实验报告总结

数字图像处理实验报告总结

数字图像处理实验报告总结一、实训目的通过实训,使我们进一步掌握图形图像处理的基本方法和基本技能;熟练使用photoshop软件,并能用它来完成图形图像的设计、制作和处理。

培养我们能按要求设计和制作一般性的商标和网页设计,并能对即成的图像做进一步处理,创造出一定水平和价值的作品,使我们的实践动手能力和创新能力得到提高,同时为今后的图形图像比赛奠定好基础。

二、教学实验内容与精心安排我们的Photoshop实训时间为本学期的第18周。

我们的实训一共有5个项目:ppt设计、logo设计、展板设计、专业网页设计和个人艺术照片设计。

老师让我们自由分组。

我虽然上课时认真听老师讲解,但没有记笔记的习惯,导致有很多学过的东西运用不上,最后,雷柱、李娟、杨月霞和我组成了一组,我们综合各自的优势对本次的实训任务进行了分工。

杨月霞负责logo设计、雷柱负责个人艺术照设计、我负责展板设计、ppt设计和网页设计由我们一起完成。

星期一的晚上我们在课堂上一起展开教学实验,因为教室里无法联网,所以我们无法展开网络上的资料收集,于是我们都就是各自了解了自己对项目的整体设计。

星期三的3、4文言我们按时走进了教学实验楼,为各自的项目都搞资料的搜集。

我们之间相互协助,很快,我们就只要搞最后的设计了。

星期四从中午12点已经开始,我们一直挤至下午5点,费和了好多心思,终于把所有的教学实验项目顺利完成了,看著我们自己辛勤工作的成果,心里真的很高兴。

三、实训心得这几天来,涂抹老师没像是以前听课那样存有详尽的传授和细心的提示信息,仅靠我们自己对PhotoShop自学的基础去自己顺利完成制作。

这次教学实验不仅仅就是对我们的实地考察,也就是一个自我总结,补漏伯粉的难得的机会。

经过这五天的自学,稳固和加强了我们的基本知识和基本技能,尤其就是Photoshop的基本知识和操作技能。

Photoshop作品要做的好就必须有一个好的创意。

我觉得学习photoshop不是在于把所有的工具都要深入去了解,只要把自己常用的会用就可以了,因为只有有创意,才可以做出一副好的作品来。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告一、引言数字图像处理是一门涉及图像获取、图像处理和图像分析的重要学科,广泛应用于计算机科学、电子工程、通信技术等领域。

本报告旨在介绍并总结我所进行的数字图像处理实验,讨论实验的目的、方法、结果和分析。

二、实验目的通过本次实验,旨在掌握和理解数字图像处理的基本原理和常见技术,包括灰度变换、空间域滤波、频域滤波等,以及层次分割、边缘检测和形态学处理等高级应用技术。

三、实验方法1. 寻找合适的图像在实验中,我选用了一张自然风景图像作为处理对象。

这张图像包含丰富的纹理和颜色信息,适合用于多种图像处理方法的验证和比较。

2. 灰度变换灰度变换是数字图像处理中常见的基础操作,可以通过对图像的像素灰度值进行线性或非线性变换,来调整图像的对比度、亮度等特征。

在实验中,我利用线性灰度变换方法将原始彩色图像转换为灰度图像,并进行对比度的调整,观察处理结果的变化。

3. 空间域滤波空间域滤波是一种基于像素邻域的图像处理方法,常用于图像去噪、边缘增强等应用。

我使用了平滑滤波和锐化滤波两种方法,并针对不同的滤波算子和参数进行了实验和比较,评估其对图像细节和边缘保留的影响。

4. 频域滤波频域滤波是一种基于图像的频谱特征的图像处理方法,广泛应用于图像增强、去噪和特征提取等方面。

我利用傅里叶变换将图像从空间域转换到频域,采用理想低通滤波器和巴特沃斯低通滤波器进行图像的模糊处理,并进行了实验对比和分析。

5. 高级应用技术在实验中,我还研究了数字图像处理中的一些高级应用技术,包括层次分割、边缘检测和形态学处理。

通过应用不同的算法和参数,我实现了图像区域分割、提取图像边缘和形态学形状变换等效果,评估处理结果的准确性和稳定性。

四、实验结果与分析通过对以上实验方法的实施,我获得了一系列处理后的图像,并进行了结果的比较和分析。

在灰度变换实验中,我发现线性变换对图像的对比度有较大影响,但对图像的细节变化不敏感;在空间域滤波实验中,平滑滤波可以有效降噪,但会导致图像细节损失,而锐化滤波可以增强图像的边缘效果,但也容易引入噪声;在频域滤波实验中,理想低通滤波对图像的模糊效果明显,而巴特沃斯低通滤波器可以在一定程度上保留图像的高频细节信息;在高级应用技术实验中,边缘检测和形态学处理对提取图像边缘和形状变换非常有效,但参数的选择会对结果产生较大影响。

《数字图像处理》实验报告

《数字图像处理》实验报告

《数字图像处理》实验报告数字图像处理是计算机科学与技术领域中的一个重要分支,它涉及到对图像进行获取、处理、分析和显示等一系列操作。

在本次实验中,我们将学习和探索数字图像处理的基本概念和技术,并通过实验来加深对这些概念和技术的理解。

首先,我们需要了解数字图像的基本概念。

数字图像是由像素组成的二维矩阵,每个像素代表图像中的一个点,像素的灰度值或颜色值决定了该点的亮度或颜色。

在实验中,我们将使用灰度图像进行处理,其中每个像素的灰度值表示了该点的亮度。

在数字图像处理中,最基本的操作之一是图像的获取和显示。

我们可以通过摄像头或者从文件中读取图像数据,然后将其显示在计算机屏幕上。

通过这种方式,我们可以对图像进行观察和分析,为后续的处理操作做好准备。

接下来,我们将学习一些常见的图像处理操作。

其中之一是图像的灰度化处理。

通过将彩色图像转换为灰度图像,我们可以减少图像数据的维度,简化后续处理的复杂度。

灰度化处理的方法有多种,例如将彩色图像的RGB三个通道的像素值取平均值,或者使用加权平均值的方法来计算灰度值。

另一个常见的图像处理操作是图像的平滑处理。

图像平滑可以减少图像中的噪声,并使得图像更加清晰。

常用的图像平滑方法包括均值滤波和高斯滤波。

均值滤波通过计算像素周围邻域像素的平均值来平滑图像,而高斯滤波则使用一个高斯核函数来加权平均邻域像素的值。

除了平滑处理,图像的锐化处理也是数字图像处理中的一个重要操作。

图像的锐化可以增强图像的边缘和细节,使得图像更加清晰和鲜明。

常用的图像锐化方法包括拉普拉斯算子和Sobel算子。

这些算子通过计算像素周围邻域像素的差异来检测边缘,并增强边缘的灰度值。

此外,我们还将学习一些图像的变换操作。

其中之一是图像的缩放和旋转。

通过缩放操作,我们可以改变图像的尺寸,使其适应不同的显示设备或应用场景。

而旋转操作可以将图像按照一定的角度进行旋转,以达到某种特定的效果。

最后,我们将学习一些图像的特征提取和分析方法。

数字图像处理实验报告

数字图像处理实验报告

数字图像处理实验报告数字图像处理实验报告第一章总论数字图像处理是计算机图形学、数字信号处理等学科交叉的一门学科。

它是基于数字计算机对图像信号进行数字处理的一种方法。

数字图像处理技术已广泛应用于医学影像诊断、遥感图像处理、图像识别、安防监控等领域,在当今社会中具有不可替代的重要作用。

本次实验主要介绍了数字图像处理的基本方法,包括图像采集、图像增强、图像恢复、图像分割、图像压缩等几个方面。

在实验过程中,我们采用了一些常用的数字图像处理方法,并通过 Matlab 图像处理工具箱进行实现和验证。

第二章实验过程2.1 图像采集在数字图像处理中,图像采集是一个重要的步骤。

采集到的图像质量直接影响到后续处理结果的准确性。

本次实验使用的图像是一张 TIF 格式的彩色图像,通过 Matlab 读取图像文件并显示,代码如下:```Matlabim = imread('test.tif');imshow(im);```执行代码后,可以得到如下图所示的图像:![image_1.png](./images/image_1.png)2.2 图像增强图像增强是指利用某些方法使图像具有更好的视觉效果或者变得更适合某种应用。

本次实验我们主要采用直方图均衡化、灰度变换等方法进行图像增强。

2.2.1 直方图均衡化直方图均衡化是一种常用的增强方法,它可以增加图像的对比度和亮度,使图像更加清晰。

代码实现如下:```Matlabim_eq = histeq(im);imshow(im_eq);```执行代码后,会得到直方图均衡化后的图像,如下图所示:![image_2.png](./images/image_2.png)可以看出,经过直方图均衡化处理后,图像的对比度和亮度得到了明显提高。

2.2.2 灰度变换灰度变换是一种用于调整图像灰度级别的方法。

通过变换某些像素的灰度级别,可以增强图像的视觉效果。

本次实验我们采用对数变换和幂函数变换两种方法进行灰度变换。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数字图像处理第二次作业摘要本次报告主要记录第二次作业中的各项任务完成情况。

本次作业以Matlab 2013为平台,结合matlab函数编程实现对lena.bmp,elain1.bmp图像文件的相关处理:1.分别得到了lena.bmp 512*512图像灰度级逐级递减8-1显示,2.计算得到lena.bmp图像的均值和方差,3.通过近邻、双线性和双三次插值法将lena.bmp zoom到2048*2048,4. 把lena和elain图像分别进行水平shear(参数可设置为1.5,或者自行选择)和旋转30度,并采用用近邻、双线性和双三次插值法zoom到2048*2048。

以上任务完成后均得到了预期的结果。

1.把lena 512*512图像灰度级逐级递减8-1显示(1)实验原理:给定的lena.bmp是一幅8位灰阶的图像,即有256个灰度色。

则K位灰阶图像中某像素的灰度值k(x,y)(以2k阶色为基准)与原图同像素的灰度值v(x,y)(以256阶色为基准)的对应关系为:k(x,y)=floor(v(x,y))28−k式中floor函数为向下取整操作。

取一确定k值,对原图进行上式运算即得降阶后的k位灰阶图像矩阵。

(2)实验方法首先通过imread()函数读入lena.bmp得到图像的灰度矩阵I,上式对I矩阵进行灰度降阶运算,最后利用imshow()函数输出显示图像。

对应源程序为img1.m。

(3)处理结果8灰度级7灰度级6灰度级5灰度级4灰度级3灰度级2灰度级(4)结果讨论:由上图可以看出,在灰度级下降到5之前,肉眼几乎感觉不出降阶后图像发生的变化。

但从灰度级4开始,肉眼明显能感觉到图像有稍许的不连续,在灰度缓变区常会出现一些几乎看不出来的非常细的山脊状结构。

随着灰度阶数的继续下降,图像开始出现大片的伪轮廓,灰度级数越低,越不能将图像的细节刻画出来,最终的极端情况是退化为只有黑白两色的二值化图像。

由此可以得出,图像采样的灰度阶数越高,灰度范围越大,细节越丰富,肉眼看去更接近实际情况。

2. 计算lena 图像的均值方差 (1)实验原理对分辨率为M*N 的灰度图像,其均值和方差分别为:m =1MN∑∑f(i,j)Nj=1Mi=1σ2=1MN∑∑(f (i,j )−m)2N j=1Mi=1(2)实验方法首先通过imread ()函数读入图像文件到灰度矩阵I 中,然后利用 mean2函数和std2函数计算灰度矩阵(即图像)的均值和标准差,再由标准差平方得到方差。

对应源程序:img1.m(3)处理结果均值me =99.0512,标准差st =52.8776,方差sf =2.7960e+03。

(4)结果分析图像的均值可反应图像整体的明暗程度,而方差可以反应图像整体的对比度情况,方差越大,图像的对比度越大,可以显示的细节就越多。

3. 把lena 图像用近邻、双线性和双三次插值法zoom 到2048*2048; (1)实验原理1灰度级图像插值就是利用已知邻近像素点的灰度值来产生未知像素点的灰度值,以便由原始图像再生出具有更高分辨率的图像。

典型方法包括最近邻、双线性、双三次三种方法。

最邻近插值法就是将待插值点像素的灰度值取为其相对于原图坐标中最邻近像素点的灰度值。

这种方法比较简单,计算速度快,但效果不好,校正后存在灰度不连续性,图像有明显锯齿状,会产生严重的“棋盘格”效应。

双线性插值法是将待插值点像素的灰度值取为其在原图坐标中距离最近的4个像素点灰度值的加权和。

双线性插值法可以比较平滑得对图像进行插值,效果令人满意,但计算速度较最邻近法有所下降。

双三次插值是一种更加复杂的插值方式, 通过待插值像素点周围 9 个点的灰度值,可以结合导数信息列出线性方程组求解系数向量。

双三次插值法较双线性插值法能显示更多的细节,效果更好,但计算开销较大,速度不理想。

(2)实验方法本题先通过imread 函数读入图像文件,然后利用imresize 函数将图像分别利用三种插值方法放大到2048*2048。

对应源程:img1.m (3)处理结果原始图像最近邻插值法分别放大细节后如图:双线性插值法双三次插值法最近邻插值法(4)结果分析通过放大细节可以看到,经过最邻近插值后的图像产生了“棋盘格”效应,而后两种插值方法得到的图像比较平滑。

4. 把lena 和elain 图像分别进行水平shear (参数可设置为1.5,或者自行选择)和旋转30度,并采用用近邻、双线性和双三次插值法zoom 到2048*2048 (1)实验原理二维仿射变换是一种二维坐标到二维坐标之间的线性变换,保持二维图形的“平直性”和“平行性”,即用图像的矩阵去乘仿射变换的矩阵T ,把图像上的像素重新定位到一个新位置,并为这些新位置赋灰度值, 而这个过程可以用灰度内插的方法完成。

二维仿射变换可以用一个3×3的矩阵来表示,其最后一行为(0 0 1)。

该变换矩阵将原坐标(v,w)变换为新坐标(x,y)。

设仿射矩阵为T ,则新坐标与原坐标的关系为:[x y 1]=[v w 1]×T −1对于shear 水平偏移变换,T =[1S K0010001] S K 根据要求设为1.5 对于旋转变换,T =[cos θsin θ0−sin θcos θ001] (2)实验方法使用 imrotate 函数旋转图像,使用 imtransform 函数完成一般的二维空间转换。

其语法格式如下:B=imtransform(A,TFORM,paraml,vall,param2,val2)。

其中TFORM 为空间变换结构。

可使用makeform 函数或cp2tform 函数创建一个TFORM 结构,本次实验中使用makeform 函数,指定的仿射变换“affine ”类型,即进行平移,旋转,比例,拉伸和错切等功能。

对应源程序;img2.m (3)处理结果双线性插值法双三次插值法水平偏移 最近邻内插水平偏移 双线性内插水平偏移 双三次内插水平偏移最近邻内插水平偏移双线性内插水平偏移双三次内插旋转30度双线性内插旋转30度双三次内插旋转30度 双线性内插旋转30度 双三次内插(4)结果分析三种插值方法中,最近邻内插再次产生了“棋盘格”效应,边缘锯齿化严重,而后两种插值方法得到的图像比较平滑。

双三次内插产生了稍微清晰的结果附录:参考文献:Rafael C. Gonzalez., et al. 数字图像处理(第三版), 电子工业出版社,2011.源代码:img1.mI=imread('lena.bmp');me=mean2(I)st=std2(I)sf=st^2figure(1)imshow(I)title('8灰度级');[x,y]=size(I);img7=zeros(x,y);img6=zeros(x,y);img5=zeros(x,y);img4=zeros(x,y);img3=zeros(x,y);img2=zeros(x,y);Img1=zeros(x,y);for i=1:xfor j=1:yimg7(i,j)=floor(I(i,j)/2);endendfigure(2)imshow(uint8(img7),[0,127])title('7灰度级');for i=1:xfor j=1:yimg6(i,j)=floor(I(i,j)/4);endendfigure(3)imshow(uint8(img6),[0,63])title('6灰度级');for i=1:xfor j=1:yimg5(i,j)=floor(I(i,j)/8);endendfigure(4)imshow(uint8(img5),[0,31])title('5灰度级');for i=1:xfor j=1:yimg4(i,j)=floor(I(i,j)/16);endendfigure(5)imshow(uint8(img4),[0,15])title('4灰度级');for i=1:xfor j=1:yimg3(i,j)=floor(I(i,j)/32);endendfigure(6)imshow(uint8(img3),[0,7])title('3灰度级');for i=1:xfor j=1:yimg2(i,j)=floor(I(i,j)/64);endendfigure(7)imshow(uint8(img2),[0,3])title('2灰度级');for i=1:xfor j=1:yImg1(i,j)=floor(I(i,j)/128);endendfigure(8)imshow(uint8(Img1),[0,1])title('1灰度级');figure(8);imshow(I);title('原始图像');A1=imresize(I,[2048 2048],'nearest'); figure(9);imshow(A1);title('最近邻插值法');A2=imresize(I,[2048 2048],'bilinear'); figure(10);imshow(A2);title('双线性插值法');A3=imresize(I,[2048 2048],'bicubic');figure(11);imshow(A3);title('双三次插值法');img2.mtransformtype='affine';transformmatrix=[1 1.5 0;0 1 0;0 0 1];T=maketform(transformtype,transformmatrix); I=imread('lena.bmp');nI=imtransform(I,T);A1=imresize(nI,[2048 2048],'nearest');figure(1);imshow(A1);title('水平偏移最近邻内插');A2=imresize(nI,[2048 2048],'bilinear'); figure(2);imshow(A2);title('水平偏移双线性内插');A3=imresize(nI,[2048 2048],'bicubic'); figure(3);imshow(A3);title('水平偏移双三次内插');I1=imread('elain1.bmp');nI1=imtransform(I1,T);B1=imresize(nI1,[2048 2048],'nearest'); figure(4);imshow(B1);title('水平偏移最近邻内插');B2=imresize(nI1,[2048 2048],'bilinear'); figure(5);imshow(B2);title('水平偏移双线性内插');B3=imresize(nI1,[2048 2048],'bicubic'); figure(6);imshow(B3);title('水平偏移双三次内插');R1=imrotate(I,30,'nearest');C1=imresize(R1,[2048 2048],'nearest'); figure(7);imshow(C1);title('旋转30度最近邻内插');R2=imrotate(I,30,'bilinear');C2=imresize(R2,[2048 2048],'bilinear'); figure(8);imshow(C2);title('旋转30度双线性内插');R3=imrotate(I,30,'bicubic');C3=imresize(R3,[2048 2048],'bicubic'); figure(9);imshow(C3);title('旋转30度双三次内插');r1=imrotate(I1,30,'nearest');D1=imresize(r1,[2048 2048],'nearest'); figure(10);imshow(D1);title('旋转30度最近邻内插');r2=imrotate(I1,30,'bilinear');D2=imresize(r2,[2048 2048],'bilinear'); figure(11);imshow(D2);title('旋转30度双线性内插');r3=imrotate(I1,30,'bicubic');D3=imresize(r3,[2048 2048],'bicubic'); figure(12);imshow(D3);title('旋转30度双三次内插');。

相关文档
最新文档