图像变换 实验报告

合集下载

第三次实验报告数字图像处理实验 —图像的几何变换

第三次实验报告数字图像处理实验 —图像的几何变换

数字图像处理实验—图像得几何变换姓名:张慧班级:信息10-1学号:36号实验三、图像得几何变换一、实验目得1.学习几种常见得图像几何变换,并通过实验体会几何变换得效果;2.掌握图像平移、剪切、缩放、旋转、镜像、错切等几何变换得算法原理及编程实现3.掌握matlab编程环境中基本得图像处理函数4.掌握图像得复合变换二、实验原理1初始坐标为(, )得点经过平移(,),坐标变为(,),两点之间得关系为:,以矩阵形式表示为:2 图像得镜像变换就是以图象垂直中轴线或水平中轴线交换图像得变换,分为垂直镜像变换与水平镜像变换,两者得矩阵形式分别为:3图像缩小与放大变换矩阵相同:当时,图像缩小;时,图像放大。

4 图像旋转定义为以图像中某一点为原点以逆时针或顺时针方向旋转一定角度。

其变换矩阵为:该变换矩阵就是绕坐标轴原点进行得,如果就是绕一个指定点()旋转,则现要将坐标系平移到该点,进行旋转,然后再平移回到新得坐标原点。

三、实验步骤1启动MATLAB程序,对图像文件分别进行平移、垂直镜像变换、水平镜像变换、缩放与旋转操作,与实验箱运行结果进行比对;2记录与整理实验报告四、实验程序X=imread(’E:\test、jpg’);figure,imshow(X);title('原图')%缩放A=[0、5 00;0 2 0;0 0 1];T=maketform(’affine’,A);Z=imtransform(X,T);figure,imshow(Z),title('图像缩放');%图像旋转A=[cos(pi/4)sin(pi/4)0;-sin(pi/4)cos(pi/4)0;0 01]; T=maketform(’affine’,A);Z=imtransform(X,T);figure,imshow(Z);title('图像旋转');%水平剪切A=[10 0;0、5 1 0;0 0 1];T=maketform('affine’,A);Z=imtransform(X,T);figure,imshow(Z);title('水平剪切');%垂直剪切A=[10、50;0 1 0;0 0 1];T=maketform('affine’,A);Z=imtransform(X,T);figure,imshow(Z);title(’垂直剪切’);%水平镜像A=[-10 0;0 1 0;10 1];T=maketform('affine’,A);Z=imtransform(X,T);figure,imshow(Z);title('水平镜像');%垂直镜像A=[1 00;0 —1 0;0 11];T=maketform('affine',A);Z=imtransform(X,T);figure,imshow(Z);title('垂直镜像');五、实验结果图原图图像缩放图像旋转水平剪切垂直剪切水平镜像垂直镜像六、结果分析1.图像得平移。

图像的灰度变换增强实验报告

图像的灰度变换增强实验报告

图像的灰度变换增强实验报告一、实验目的1、 理解数字图像处理中点运算的基本作用;2、 掌握对比度调整与灰度直方图均衡化的方法。

二、实验原理1、对比度调整如果原图像f (x , y )的灰度范围是[m , M ],我们希望对图像的灰度范围进行线性调整,调整后的图像g (x , y )的灰度范围是[n , N ],那么下述变换:[]n m y x f mM n N y x g +---=),(),( 就可以实现这一要求。

MATLAB 图像处理工具箱中提供的imadjust 函数,可以实现上述的线性变换对比度调整。

imadjust 函数的语法格式为:J = imadjust(I,[low_in high_in], [low_out high_out])J = imadjust(I, [low_in high_in], [low_out high_out])返回原图像I 经过直方图调整后的新图像J ,[low_in high_in]为原图像中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围,灰度范围可以用 [ ] 空矩阵表示默认范围,默认值为[0, 1]。

不使用imadjust 函数,利用matlab 语言直接编程也很容易实现灰度图像的对比度调整。

但运算的过程中应当注意以下问题,由于我们读出的图像数据一般是uint8型,而在MATLAB 的矩阵运算中要求所有的运算变量为double 型(双精度型)。

因此读出的图像数据不能直接进行运算,必须将图像数据转换成双精度型数据。

MATLAB 中提供了这样的数据类型转换函数:im2double 函数,其语法格式为:I2 = im2double(I1)运算之后的图像数据再显示时可以再转化成uint8型,格式为:I3 = uint8 (I2)2、直方图均衡化直方图均衡化的目的是将原始图像的直方图变为均衡分布的形式,即将一已知灰度概率密度分布的图像,经过某种变换变成一幅具有均匀灰度概率密度分布的新图像,从而改善图像的灰度层次。

python图像变换实验心得

python图像变换实验心得

python图像变换实验心得python 图像变换实验心得, Python 图像变换实验心得实验一:用 pytho 制作一张可以让鼠标移动的图片,要求是让鼠标在图片上面能够随意移动。

实验二:利用模块对图片进行缩放和旋转处理,最终得到让鼠标在图片上移动不同角度的图片。

这两个任务其实都很简单,大家也应该比较熟悉,因此我就不多说了。

看了实验要求后我们开始写代码来实现我们的实验目标,首先我们使用 opencv 来对图片进行缩放操作,使得鼠标可以移动到图片的每一个位置,然后我们使用 cursor 函数来获取鼠标当前的位置,接着我们再次使用 opencv 来完成对图片的旋转操作,让鼠标始终指向图片中心点,最后我们使用 shapeatrof 函数来将图片进行对齐,然后将图片保存起来。

我还记得刚接触 Python 时,那会儿我的第一个 Python 项目就是用它来做图像处理的,这个图像处理包括图片缩放、旋转、图片的对齐等功能,现在看来我的那个项目基本已经过时了,不过还好,我在这里又学习了新知识,而且这些知识都非常实用。

这几天我在学习Python 的过程中发现它是一门非常强大的编程语言,而且这种编程语言不仅能够解决图形图像处理问题,还能够解决一些复杂的数据分析与运算问题,比如数据库、网络通信、自然语言处理、机器人控制、人工智能等等。

而且 Python 的数据结构非常灵活,这样就给我们提供了很多可选择的编程范式,从而为我们解决各类问题带来更多的便捷性。

然而这个命令并没有什么特别的地方,只是一个简单的缩放命令,我们只需要按照实际情况输入合适的数值就可以了。

但是当我们想把图片旋转或者放大时,就需要用到 modulolphide 函数了,这个函数的作用就是让图片沿水平轴旋转或者垂直轴翻转。

图像的傅里叶变换实验报告

图像的傅里叶变换实验报告

图像的傅里叶变换实验报告GE GROUP system office room 【GEIHUA16H-GEIHUA GEIHUA8Q8-计算机科学与技术系实验报告专业名称计算机科学与技术课程名称数字图像处理项目名称 Matlab语言、图像的傅里叶变换班级 14计科2班学号姓名卢爱胜同组人员张佳佳、王世兜、张跃文实验日期一、实验目的与要求:(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。

)实验目的:1了解图像变换的意义和手段;2熟悉傅立叶变换的基本性质;3熟练掌握FFT变换方法及应用;4通过实验了解二维频谱的分布特点;5通过本实验掌握利用MATLAB编程实现数字图像的傅立叶变换。

6评价人眼对图像幅频特性和相频特性的敏感度。

实验要求:应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。

通过实验培养这项技能,将有助于解决大多数图像处理问题。

对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。

二、实验内容(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他)1.傅立叶(Fourier)变换的定义对于二维信号,二维Fourier变换定义为:逆变换:二维离散傅立叶变换为:逆变换:图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法,具体参见参考书目,有关傅立叶变换的快速算法的程序不难找到。

实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。

2.利用MATLAB软件实现数字图像傅立叶变换的程序:I=imread(‘原图像名.gif’);%读入原图像文件imshow(I); %显示原图像fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2); %计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225 %归一化figure; %设定窗口imshow(A); %显示原图像的频谱四、源代码clc;clear allI=imread('Fig0707(a)(Original).tif.tif'); %读入原图像文件imshow(I); %显示原图像title('原始图像')fftI=fft2(I); %二维离散傅立叶变换sfftI=fftshift(fftI); %直流分量移到频谱中心RR=real(sfftI); %取傅立叶变换的实部II=imag(sfftI); %取傅立叶变换的虚部A=sqrt(RR.^2+II.^2); %计算频谱幅值A=(A-min(min(A)))/(max(max(A))-min(min(A)))*225; %归一化figure; %设定窗口imshow(A); %显示原图像的频谱title('原始图像的频谱')f1=ifft2(A); %用Fourier系数的幅度进行Fourier反变换f2=ifft2(angle(fftI)); %用Fourier系数的相位进行Fourier反变换;figuresubplot 121;imshow(f1,[])title('幅度进行Fourier反变换')subplot 122;imshow(f2,[])title('相位进行Fourier反变换')五、实验结果及分析实验分析:本次试验研究了有关傅里叶算法方面的知识,将傅里叶变换应用在图像的处理上,让我学习到了傅里叶算法方面的知识,实践才是成长的好道路。

实验二 图像变换

实验二 图像变换

实验二图像变换
一、实验内容
1.对图像进行平移,掌握图像的傅里叶频谱和平移后的傅里叶频谱的对应关系;
2.对图像进行旋转,掌握图像的傅里叶频谱和旋转后的傅里叶频谱的对应关系。

2、实验原理
如果F(u,v)的频率变量u,v各移动了u0,v0距离,f(x,y)的变量x,y各移动了x0,y0距离,则傅里叶变换如下所示
因此傅里叶变换的平移性质表明函数与一个指数项相乘等于将变换后的空域中心移到新的位置,平移不改变频谱的幅值。

傅里叶旋转可以通过下面变换得到:
对f(x,y)旋转一个角度对应于将其傅里叶变换F(u,v)也旋转相同的角度。

3、实验方法和程序
1. 选取一副图像,进行离散傅里叶变换,将其中心移到零点,得到
其离散傅里叶变换。

参考例4.10
2. 选取一副图像,进行离散余弦变换,并对其进行离散余弦反变
换。

参考例4.13
3. 选取一副图像,采用butterworth高通滤波器对图像进行高通滤
波。

参考例5.7
4、实验结果与分析
Matlab代码以及结果图
5、思考题
1. 将图像分别进行X轴与Y轴上的平移,所得傅里叶频谱与原图像
的傅里叶频谱有什么变换?。

实验一 图像变换

实验一 图像变换

实验一 图像变换一、 实验目的1.了解图像变换的意义和手段;2.熟悉离散傅里叶变换、离散余弦变换的基本性质;3. 熟练掌握图像变换的方法及应用;4.通过实验了解二维频谱的分布特点;5.通过本实验掌握利用MATLAB 编程实现数字图像的傅立叶变换。

二、 实验原理1.应用傅立叶变换进行图像处理傅里叶变换是线性系统分析的一个有力工具,它能够定量地分析诸如数字化系统、采样点、电子放大器、卷积滤波器、噪音和显示点等的作用。

通过实验培养这项技能,将有助于解决大多数图像处理问题。

对任何想在工作中有效应用数字图像处理技术的人来说,把时间用在学习和掌握博里叶变换上是很有必要的。

2、图像变换的基本原理(1)傅立叶(Fourier )变换的定义对于二维连续信号,二维Fourier 变换定义为:正变换:⎰⎰∞∞-∞∞-+-=dxdy ey x f v u F vy ux j )(2),(),(π反变换:⎰⎰∞∞-∞∞-+=dudv e v u F y x f vy ux j )(2),(),(π 二维离散傅立叶变换为: 正变换:∑∑-=-=+-=101)//(2),(1),(M x N y N vy M ux j e y x f MN v u F π 反变换:∑∑-=-=+=1010)//(2),(),(M u N v N vy M ux j e v u F y x f π图像的傅立叶变换与一维信号的傅立叶变换变换一样,有快速算法。

实际上,现在有实现傅立叶变换的芯片,可以实时实现傅立叶变换。

(2)离散余弦变换(DCT )的定义正变换为∑∑-=-=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡+=1010)21(cos )21(cos ),(2)()(),(M x N y y v N x u M y x f MN v C u C v u F ππ 其逆变换为∑∑-=-=⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡+=1010)21(cos )21(cos ),()()(2),(N v M u y v N x u M v u F v C u C MN y x f ππ 离散余弦变换是图像压缩中常用的一种变换方法,任何实对称函数的傅里叶变换中只含余弦项,就成为余弦变换,因此余弦变换是傅里叶变换的特例。

图像空域变换实验报告

图像空域变换实验报告

实验报告(2014~ 2015 学年度第二学期)班级:学号:姓名:同组试验者:实验名称:图像空域变换日期: 2015.04.22一、实验目的:1.掌握图像的线性和非线性变换和直方图均衡化的原理和应用;2. 理解和掌握图像的平移、垂直镜像变换、水平镜像变换、缩放和旋转的原理和应用;3.了解噪声模型及对图像添加噪声的基本方法。

二、实验原理1.灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。

2.直方图均衡化通过点运算将输入图像转换为在每一级上都有相等像素点数的输出图像,按照图像概率密度函数PDF的定义。

三、实验内容1.灰度线性变换就是将图像中所有点的灰度按照线性灰度变换函数进行变换。

将一幅256X256的灰度图像,将0~60灰度级压缩到0~30范围内,压缩比1/2;60~180的灰度级扩大到30~240,比率为190/120;将180~255灰度级压缩到240~255范围内,压缩比为15/75.实验程序:X1=imread('1234.png');figure,imshow(X1)f0=0;g0=0;f1=60;g1=30;f2=180;g2=240;f3=255;g3=255;%绘制变换曲线figure,plot([f0,f1,f2,f3],[g0,g1,g2,g3])axis tight,xlabel('f'),ylabel('g')%xlable,ylable加坐标轴文字标注title('intensity transformation')%给图形窗口加标题r1=(g1-g0)/(f1-f0);%求0~60灰度级范围内的压缩比b1=g0-r1*f0;r2=(g2-g1)/(f2-f1);%求60~180灰度级范围内的压缩比b2=g1-r2*f1;r3=(g3-g2)/(f3-f2);%求180~255灰度级范围内的压缩比b3=g2-r3*f2;[m,n]=size(X1); %求矩阵的行数m,列数nX2=double(X1); %将数据类型转换为双精度型%变换矩阵中的每个元素for j=1:nf=X2(i,j);g(i,j)=0;if (f>=0)&(f<=f1); %找出灰度级范围在0~60的元素g(i,j)=r1*f+b1; %灰度级在0~30的进行灰度变换elseif (f>=f1)&(f<=f2) %找出灰度级范围在60~180的元素g(i,j)=r2*f+b2; %灰度级在60~180的进行灰度变换elseif (f>=f2)&(f<=f3) %找出灰度级范围在180~255的元素g(i,j)=r3*f+b3; %灰度级在180~255的进行灰度变换endendendfigure,imshow(mat2gray(g)) %函数mat2gray( )将数据矩阵转换成灰度图像2.对数变换实验程序:I=imread('peppers.png');%读入图像figure;imshow(I);F=fft2(im2double(I));%FFTF=fftshift(F);%FFT频谱平移F=abs(F);T=log(F+1);%频谱对数变换figure;imshow(F,[]);title('未经变换的频谱'); figure;imshow(T,[]);title('对数变换后');3.幂次变换实验程序:I=imread('pout.tif');subplot(1,4,1);imshow(I);title('原图像','fontsize',9);subplot(1,4,2);imshow(imadjust(I,[],[],0.5));title('Gamma=0.5'); subplot(1,4,3);imshow(imadjust(I,[],[],1));title('Gamma=1'); subplot(1,4,4);imshow(imadjust(I,[],[],1.5));title('Gamma=1.5');4.直方图变换实验程序:I = imread('tire.tif'); J = histeq(I);imshow(I)figure, imshow(J); figure,imhist(I,64) figure,imhist(J,64)5.图像平移实验程序:(1)I=imread('cameraman.tif');subplot(1,2,1);imshow(I);title('原始图像');[M,N,]=size(I);g=zeros(M,N);a=20;b=20;for i=1:Mfor j=1:N;if ((i-a>0)&(i-a<M)&(j-b>0)&(j-b<N))g(i,j)=I(i-a,j-b);elseg(i,j)=0;endendendsubplot(1,2,2);imshow(uint8(g));title('平移后的图像');(2)F=imread('123.jpg');subplot(1,2,1);imshow(F);title('原始图像');se = translate(strel(1), [5 5]);%参数[0 20]可以修改,修改后平移距离对应改变J = imdilate(F,se);subplot(1,2,2);imshow(J,[]);title('平移后图形');6.水平镜像实验程序:I=imread('123.jpg');subplot(1,2,1);imshow(I);title('原始图像');[M,N]=size(I);g=zeros(M,N);for i=1:Mfor j=1:N;g(i,j)=I(i,N-j+1);endendsubplot(1,2,2);imshow(uint8(g));title('水平镜像');7.垂直镜像实验程序:I=imread('123.jpg'); subplot(1,2,1); imshow(I);title('原始图像'); image=I(end:-1:1,:); subplot(1,2,2); imshow(image);8.加噪求平均实验程序:(1)I=imread('eight.tif');J=imnoise(I,'gaussian',0,0.02);subplot(1,3,1),imshow(I);title('原图'); subplot(1,3,2),imshow(J);title('加噪声');K=zeros(242,308);for i=1:100J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;endK=K/100;subplot(1,3,3);imshow(K);title('平滑图');(2)%导入图像的同时将图像分为行和列元素[I,M]=imread('123.jpg');%对图像进行加噪声J=imnoise(I,'gaussian',0,0.02);%显示图像subplot(1,3,1),imshow(I,M),title('原始图像'); subplot(1,3,2),imshow(J,M),title('加噪图像'); %创建与原图像一样维数的全0矩阵J1=im2double(J);K=ones(size(J1));%循环100对图像加噪声然后累加for i=1:1:100J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end%求图像的平均K=K/100;%显示处理过的图像subplot(1,3,3),imshow(K),title('平滑图像');四、实验中遇到的问题水平变换、垂直变换时彩色图片不能按照要求进行变换=====WORD完整版----可编辑----专业资料分享=====。

图像变换实验报告

图像变换实验报告

实验一图像变换一、实验目的:1、巩固二维离散傅立叶变换的基本原理;2、掌握应用MATLAB语言对二维图像进行FFT及逆变换;掌握傅立叶变换的应用:线性滤波器的频率响应和图像特征定位;3、巩固离散余弦变换理论,掌握应用MATLAB语言对图像进行离散余弦变换,掌握离散余弦变换在JPEG编码中的应用;4、巩固离散沃尔什-哈达玛变换理论,掌握应用MATLAB语言对图像进行沃尔什-哈达玛变换。

二、实验内容:1.二维离散傅立叶变换1)参考实验书,用Matlab程序完成图5.5(a)中图形及其傅立叶变换,显示图形和三维图;2)读入一幅图像(LENA128.bmp),生成其傅立叶谱图,将此图像旋转45度,生成旋转45度后的谱图。

2.傅立叶变换的应用线性滤波器的频率响应产生二维矩形低通滤波器(滤波器参数自选),做此滤波器的频率响应图和空间域图形。

3.傅立叶变换的应用图像特征定位从图像text1.tif中选取一个特征(“图象”这两个字),在图像text2.tif中找出该特征的位置。

4.图像离散余弦变换及在JPEG中的应用1)对输入图像进行离散余弦变换,DCT系数门限值分别取0.6和4,显示变换后的系数图,显示DCT压缩后的图像。

2)DCT变换在JPEG压缩中的应用:将给定的图像harbour.tif划分为16×16的小块,做JPEG中DCT运算,并重构图像。

每小块的DCT系数保留左上角21个。

显示过程中图像DCT系数图,显示重构后的图像。

5.图像离散沃尔什-哈达玛变换读入一幅图像,对图像进行沃尔什-哈达玛变换。

并显示变换结果三.实验结果&结果分析:1.解答:(1)A=[];A(1:500,1:300)=0;for x=1:500for y=1:300;b=(x-250).^2/250^2+(y-150).^2/150^2; c=(x-250).^2/225^2+(y-150).^2/125^2; if (b<1 && c>1);A(x,y)=1;endendendimshow(A)F1=fft2(A,500,500);F=fftshift(F1);F2=log(abs(F));figure(2)imshow(F2,[0.1,5],'notruesize');colorbar figure(3)x=1:500;y=1:500;mesh(x,y,log(F(x,y)));colormap(gray);colorbar 图形及其傅立叶变换如下:(2)A=imread('LENA128.bmp');F1=fft2(A);F11=fftshift(F1);F111=log(abs(F11));B=imrotate(A,45);F2=fft2(B);F22=fftshift(F2);F222=log(abs(F22));subplot(2,2,1),imshow(A);subplot(2,2,2),imshow(F111,[]);subplot(2,2,3),imshow(B);subplot(2,2,4),imshow(F222,[]);图像的傅立叶谱图和旋转45度后的谱图如下:2.解答A=[];A(1:25,1:25)=0;for x=1:25for y=1:25b=(x-3).^2+(y-3).^2;if (b<10);A(x,y)=1;endendendsubplot(2,1,1),mesh(A);subplot(2,1,2),freqz2(A);滤波器的频率响应图和空间域图形如下:3.解答:bw=imread('text1.tif');A=bw(243:259,255:283);figure(1)imshow(A)bw1=imread('text2.tif');B=bw1(39:52,227:251);bw1=255-bw1;B=255-B;c=real(ifft2(fft2(bw1).*fft2(rot90(B,2),512,512))); figure(2)imshow(c,[])max(c(:))figure(3)imshow(c> ((4.7293e+006)-10));在图像中找出该特征的位置如下:4.解答:[A,map]=imread('LENA128.bmp');GRAY=mat2gray(A);D=dct2(GRAY);figure(1),subplot(3,1,1),imshow(log(abs(D)),[]); colormap(gray(4));colorbar;D(abs(D)<0.6)=0;I1=idct2(D)/255;subplot(3,1,2),imshow(I1);D1=dct2(GRAY);D1(abs(D1)<4)=0;I2=idct2(D1)/255;subplot(3,1,2),imshow(I2);(2)I=imread('harbour.tif');I=im2double(I);T=dctmtx(16);B=blkproc(I,[16 16],'P1*x*P2',T,T');mask=[];mask(1:16,1:16)=0;mask(1:5,1:4)=1;B2=blkproc(B,[16 16],'P1.*x',mask);I2=blkproc(B2,[16 16],'P1*x*P2',T',T);figure(2),subplot(2,1,1),imshow(I);subplot(2,1,2),imshow(I2);5.解答:[A,map]=imread('LENA128.bmp');GRAY=mat2gray(A);subplot(2,1,1),colormap(gray(128)),imagesc(GRAY);[m n]=size(GRAY)for k=1:nwht(:,k)=hadamard(m)*GRAY(:,k)/m;endfor j=1:mwh(:,j)=hadamard(n)*wht(j,:)'/nendwh=wh';subplot(2,1,2),colormap(gray(128)),imagesc(wh);四、实验分析由实验结果可知,在图像灰度转换过程中,其图像的清晰度随着灰度级的降低而降低。

数字图像处理图像变换实验报告

数字图像处理图像变换实验报告

实验报告实验名称:图像处理姓名:刘强班级:电信1102学号:1404110128实验一图像变换实验——图像点运算、几何变换及正交变换一、实验条件PC机数字图像处理实验教学软件大量样图二、实验目的1、学习使用“数字图像处理实验教学软件系统”,能够进行图像处理方面的简单操作;2、熟悉图像点运算、几何变换及正交变换的基本原理,了解编程实现的具体步骤;3、观察图像的灰度直方图,明确直方图的作用与意义;4、观察图像点运算与几何变换的结果,比较不同参数条件下的变换效果;5、观察图像正交变换的结果,明确图像的空间频率分布情况。

三、实验原理1、图像灰度直方图、点运算与几何变换的基本原理及编程实现步骤图像灰度直方图就是数字图像处理中一个最简单、最有用的工具,它描述了一幅图像的灰度分布情况,为图像的相关处理操作提供了基本信息。

图像点运算就是一种简单而重要的处理技术,它能让用户改变图像数据占据的灰度范围。

点运算可以瞧作就是“从象素到象素”的复制操作,而这种复制操作就是通过灰度变换函数实现的。

如果输入图像为A(x,y),输出图像为B(x,y),则点运算可以表示为:B(x,y)=f[A(x,y)]其中f(x)被称为灰度变换(Gray Scale Transformation,GST)函数,它描述了输入灰度值与输出灰度值之间的转换关系。

一旦灰度变换函数确定,该点运算就完全确定下来了。

另外,点运算处理将改变图像的灰度直方图分布。

点运算又被称为对比度增强、对比度拉伸或灰度变换。

点运算一般包括灰度的线性变换、阈值变换、窗口变换、灰度拉伸与均衡等。

图像几何变换就是图像的一种基本变换,通常包括图像镜像变换、图像转置、图像平移、图像缩放与图像旋转等,其理论基础主要就是一些矩阵运算,详细原理可以参考有关书籍。

实验系统提供了图像灰度直方图、点运算与几何变换相关内容的文字说明,用户在操作过程中可以参考。

下面以图像点运算中的阈值变换为例给出编程实现的程序流程图,如下:2、图像正交变换的基本原理及编程实现步骤数字图像的处理方法主要有空域法与频域法,点运算与几何变换属于空域法。

实验1图像正交变换

实验1图像正交变换

实验1图像正交变换实验⼀图像变换⼀.实验⽬的1.掌握傅⽴叶变换及逆变换的基本原理⽅法。

2.掌握离散余弦变换的基本原理⽅法。

3.掌握沃尔什-哈达玛变换的基本原理及⽅法。

⼆.实验原理及内容:内容:1.对标准图像进⾏离散傅⾥叶变换并在计算机屏幕观测其频谱,验证⼆维傅⾥叶变换的常⽤性质。

2.对标准图像进⾏离散余弦变换并在计算机屏幕观测其频谱,验证⼆维余弦变换的常⽤性质,了解⼆维余弦变换⽤在图像压缩中的原因。

3.对标准图像离散傅⾥叶变换和离散余弦变换的频谱进⾏⽐较。

4.对标准图像进⾏沃尔什-哈达玛变换并在计算机屏幕观测其频谱。

基本要求:1.加深理解DFT、DCT、Walsh变换的原理和基本性质。

2.掌握DFT、DCT变换的算法流程,并能根据流程编程实现。

3.分析变换域内频谱的特征。

三.实验程序与结果(1)对标准图像进⾏离散傅⾥叶变换I=imread('L:/lena.jpg');J=rgb2gray(I); %换成灰度图像subplot(2,2,1);imshow(I);title('原始图像');subplot(2,2,2);imshow(J);title('灰度图像');f=fftshift(fft2(J)); %离散傅⾥叶变换,并将中⼼移到原点subplot(2,2,3);imshow(log(abs(f)),[8,10]) %输出频谱⼆维图像title ('傅⾥叶变换');(2)对标准图像进⾏离散余弦变换i=imread('L:/lena.jpg');h=rgb2gray(i);DCT=dct2(h);DCT(abs(DCT)<10)=0;IDCT=idct2(DCT);subplot(2,2,1);imshow(i);title('原始图像');subplot(2,2,2);imshow(h);title('灰度图');subplot(2,2,3);imshow(DCT);title('DCT 变换图');subplot(2,2,4);imshow(log(abs(DCT)),[]);title('⼆维变换图');(3)对标准图像进⾏沃尔什-哈达玛变换clear;clc;close all;n=512;filename=('L:/lena.jpg');A=double(rgb2gray(imread(filename))); B=zeros(n,n); B(1:size(A,1),1:size(A,2))=A;H(1)=[1];for k=2:log2(n)+1H=[H H;H -H];endW1=1/n/n*H*B*H;figure(2);subplot(1,2,1);imshow(uint8(B));title('原图');subplot(1,2,2);imshow(uint8(1000*W1));title('沃尔什-哈达玛变换结果');四.实验过程及结果分析实验过程:通过编写程序,调⽤各种变换函数来处理已知路径的图像并显⽰图像的原始图、灰度图及各种变换后的频谱图来观察实验的结果。

图像变换实验

图像变换实验

数字图像处理实验报告1 - 图像变换学生姓名:学号:实验时间:地点:指导教师:实验名称:图像变换试验目的:(1)基于MATLAB的实验验证。

通过在MA TLAB环境中相关函数的调用,验证图像变换和图像频域处理效果,增强感性认识。

(2)基于C语言的基本图像处理。

通过编写C++程序,进一步理解算法的实现过程,为在实际应用软件中的应用打下基础。

实验内容:(1)MATLAB函数的直接调用通过在MA TLAB环境中相关函数的调用,验证傅立叶变换、DCT变换和小波变换的结果,并通过反变换恢复原图像。

①对’flower.tif’ 图片进行傅立叶变换,绘制原始图像和变换后的频谱图。

②对’ flower.tif’ 图片进行DCT变换,绘制原始图像和变换后的频谱图。

③对’ flower.tif’ 图片进行一层小波变换和反变换,绘制原始图像和重建后的图像,以及小波分解后的4个子图注意:可以采用colormap(‘gray’) 来设置灰色图像的绘制。

(2)提升小波变换实验验证图像的提升小波变换。

编写小波变换程序,实现图像的变换和反变换。

完成:●图像的读取;●提升小波变换、逆变换●原图像和重建图像的显示、比较。

(3)编写VC++程序,读取flower.yuv 的图像帧,将图彩色图像变为灰度图像,然后对图像像素做线性变换g (i) = a f(i)+b 。

i为任意像素序号,a,b为实数。

将a,b取不同值,显示变换前、后的画面。

例如a=-1,b=255; a=0.5,b=128 等。

实验记录与结果分析:(1)①第一步:对于第一个实验先产生一个tif格式的灰度图像,在这里采用微软window系统中的图像并进行灰度图像化来产生。

(程序详见附录1.1)结果如下:灰度图像是原图像的一个截取,防止像素太大处理速度变慢。

(毕竟这是一次试验)原图:灰度图:②第二步:对’flower.tif’ 图片进行傅立叶变换,绘制原始图像和变换后的频谱图。

图像变换实验报告心得

图像变换实验报告心得

图像变换实验报告心得引言图像变换是计算机视觉领域的重要研究方向之一,它通过对图像的像素进行一系列的操作,实现对原始图像的改变和增强。

图像变换可以被广泛应用于图像处理、计算机图形学、机器学习等领域中。

为了进一步探索图像变换的应用和效果,我们进行了一系列的图像变换实验,并记录了实验过程和结果。

本篇报告旨在总结实验心得和体会,提出对图像变换实验的改进建议。

实验目的本次实验的目的是通过实现和比较不同的图像变换算法,探索图像变换对图像质量和可视化效果的影响。

具体目标如下:1. 实现常见的图像变换算法,包括平移、旋转、缩放和灰度变换等;2. 分析不同图像变换算法的优缺点,并比较其效果;3. 讨论图像变换对图像质量的影响,并给出评价标准;4. 提出改进图像变换算法的建议。

实验方法实验中,我们使用了Python编程语言,并借助开源的图像处理库OpenCV进行图像变换的实现。

针对不同的图像变换操作,我们选择了不同的算法和参数设置,以保证实验的全面性和可比性。

具体方法如下:1. 平移变换:我们使用OpenCV提供的`warpAffine`函数实现了平移变换,并通过调整平移向量的参数实现了不同程度的平移效果;2. 旋转变换:我们使用OpenCV提供的`getRotationMatrix2D`和`warpAffine`函数实现了旋转变换,并调整参数实现了不同角度和方向的旋转效果;3. 缩放变换:我们使用OpenCV提供的`resize`函数和不同的插值方法(如最近邻插值、双线性插值)实现了缩放变换,并对比了不同插值方法的效果;4. 灰度变换:我们实现了简单的灰度变换算法,包括将彩色图像转换为灰度图像,以及调整灰度图像的亮度和对比度。

实验结果通过对实验图像的处理和结果分析,我们得出了以下结论:1. 平移变换可以实现图像的横向和纵向移动,但当平移距离较大时,可能导致图像丢失部分内容;2. 旋转变换可以实现图像的旋转和翻转,但当旋转角度过大时,可能会导致图像失真和像素重叠;3. 缩放变换可以实现图像的放大和缩小,但不同的插值方法会影响图像的细节和平滑度;4. 灰度变换可以实现彩色图像到灰度图像的转换,并调整亮度和对比度,但需要注意亮度调整的边界问题。

机器视觉应用技术实验04图像变换

机器视觉应用技术实验04图像变换

实验4 图像变换一、实验目的1.掌握图像旋转、图像镜像、图像缩放、图像透视等方法。

2.掌握AiCam框架的部署和使用。

二、实验环境硬件环境:PC机Pentium处理器双核2GHz以上,内存4GB以上操作系统:Windows7 64位及以上操作系统开发软件:MobaXterm实验器材:人工智能边缘应用平台实验配件:无三、实验内容1.算法原理1.1 基本描述图像变换是很多数据预处理的关键步骤,主要包括图像的旋转、镜像、缩放、透视等相关操作。

在某些应用中数据集比较少的情况下,运用图像变换等数据增强手段就可以实现数据集数据的扩充,例如随机镜像、随机垂直镜像、90度旋转等操作。

1.2 常用方法●图像旋转:在OpenCV中图像旋转主要调用函数getRotationMatrix2D()和wrapAffine()实现,绕图像的中心旋转,具体如下:# 对图片进行旋转# 构造旋转矩阵,参数分别为:旋转中心、旋转度数、缩放比例M = cv.getRotationMatrix2D((cols/2, rows/2), 45, 1)# 图像旋转,参数分别为:原始图像、旋转矩阵、原始图像宽高rotation_image = cv.warpAffine(image, M, (cols, rows))●图像镜像:在OpenCV中图像翻转主要调用函数flip() 实现,具体如下:# src:原始图像# flipCode:翻转方向(flipCode=0,水平镜像,flipCode>0,垂直镜像,flipCode<0,同时翻转)dst = cv2.flip(src, flipCode)●图像缩放:在OpenCV中图像缩放主要调用resize() 函数实现,具体如下:。

# scr:原始图像# dsize:输出图像的尺寸(元组方式)# fx:沿水平轴缩放的比例因子# fy:沿垂直轴缩放的比例因子# interpolation:插值方法cv.resize(src, dsize, fx, fy, interpolation)详细参数如下:src:输入,原图像,即待改变大小的图像;dsize:输出图像的大小。

图像灰度变换实验报告

图像灰度变换实验报告

实验2a 图像的灰度变换一、实验目的:学会用Matlab软件对图像进行运算和灰度变换。

二、实验内容:用+、-、*、/、imabsdiff、imadd、imcomplment、imdivide、imlincomb、immultiply、imsubtract和imadjust等函数生成各类灰度变换图像。

三、实验相关知识1、代数运算两幅图像之间进行点对点的加、减、乘、除运算后得到输出图像。

我们可以分别使用MA TLAB的基本算术符+、-、*、/来执行图像的算术操作,但是在此之前必须将图像转换为适合进行基本操作的双精度类型(命令函数为double())。

为了更方便对图像进行操作,图像处理工具箱中也包含了一个能够实现所有非稀疏数值数据的算术操作的函数集合。

如下所示:imabsdiff:计算两幅图像的绝对差值imadd:两个图像的加法imcomplment:一个图像的补imdivide:两个图像的除法imlincomb:计算两幅图像的线性组合immultiply:两个图像的乘法imsubtract:两个图像的减法使用图像处理工具箱中的图像代数运算函数无需再进行数据类型间的转换,这些函数能够接受uint8和uint16数据,并返回相同格式的图像结果。

代数运算的结果很容易超出数据类型允许的范围。

图像的代数运算函数使用以下截取规则使运算结果符合数据范围的要求:超出数据范围的整型数据将被截取为数据范围的极值,分数结果将被四舍五入。

2、灰度变换点运算也称为灰度变换,是一种通过对图像中的每个像素值进行运算,从而改善图像显示效果的操作。

对于特定变换函数f的灰度变换,用户可以利用MATLAB强大的矩阵运算能力,对图像数据矩阵调用各种MATLAB计算函数进行处理。

需要注意的是由于MATLAB不支持uint8类型数据的矩阵运算,所以首先要将图像数据转换为双精度类型,计算完成后再将其转换为uint8类型(命令为uint8( ))。

实验图像变换

实验图像变换

1、图像的读取函数imread()用来读取图像,把图像数据读出以后,可以赋给一个变量。

例如,在命令窗口中输入命令a=imread(‘box.bmp’)%其中box.bmp在当前路径下执行命令后,在命令窗口显示出许多数据,这些数据就是用来表示图像各个位置点颜色的。

使用命令s=size(a)则有s= 27 28说明图像的高位27像素、宽为28像素。

实验指导书实验一图像变换一、实验目的与要求:目的:通过本次实验,学生可以掌握MA TLAB的基本矩阵操作、图像的读取、显示和保存的方法,掌握图像频域变换的方法,包括DFT变换和DCT变换方法的实现。

要求:上机运行,编程调试通过。

二、实验内容:1、MATLAB简介1.1主要用途及特点主要用途:算法研究主要特点:语句功能强大;不能生成可执行文件。

1.2 MA TLAB工作环境1.2.1 Matlab桌面桌面包括5个子窗口:命令窗口、工作空间窗口、当前目录窗口、历史命令窗口、一个或多个图形窗口(仅在用户显示图形式出现)。

命令窗口是用户在提示符(>>)处键入MA TLAB命令和表达式的地方,也是显示那些命令输出的地方。

工作空间窗口显示对话中创建的变量和它们的某些信息。

当前目录窗口显示当前目录的内容(即路径)。

历史命令窗口包含用户已在命令窗口中输入的命令的纪录。

1.2.2使用MATLAB编辑器创建M文件1.2.3获得帮助(1)help <函数名>(2)lookfor <关键词>2、数字图像的读取、显示、保存、数据类型和图像类型、数据类型间的转换、图像类型间的转换2.1图像的读取语法:imread ( ‘filename’ )说明:读取图像语法:[M, N]=size ( ‘filename’ )说明:给出一幅图像的行数和列数2.2图像的显示语法:imshow ( f, G)imshow (f, [low high])imshow (f, [ ])说明:G是显示该图像的灰度级数;小于或等于low的值都显示为黑色,大于或等于high的值都显示为白色。

图像几何变换实验报告

图像几何变换实验报告

图像几何变换实验报告图像几何变换实验报告引言:图像几何变换是计算机视觉领域的重要研究方向之一。

通过对图像进行旋转、缩放、平移等变换操作,可以改变图像的形状、大小和位置,从而实现图像处理和分析的目的。

本实验旨在通过编程实现常见的图像几何变换算法,并对其效果进行评估和分析。

一、图像旋转变换图像旋转变换是指将图像按照一定的角度进行旋转操作。

在实验中,我们使用了旋转矩阵来实现图像的旋转。

通过调整旋转角度,我们可以观察到图像在不同旋转角度下的变化。

实验结果显示,当旋转角度较小时,图像的形状基本保持不变,但会出现一定程度的畸变。

随着旋转角度的增加,图像的形状逐渐发生变化,出现明显的扭曲和形变现象。

二、图像缩放变换图像缩放变换是指改变图像的尺寸大小。

在实验中,我们通过调整缩放系数来实现图像的缩放操作。

实验结果表明,当缩放系数小于1时,图像会变小,细节信息会丢失;而当缩放系数大于1时,图像会变大,但可能会出现像素过度拉伸的情况。

因此,在进行图像缩放时,需要根据实际需求选择合适的缩放系数,以保证图像的质量和清晰度。

三、图像平移变换图像平移变换是指将图像沿着水平或垂直方向进行移动操作。

在实验中,我们通过调整平移距离来实现图像的平移。

实验结果显示,当平移距离较小时,图像的位置变化不明显;而当平移距离较大时,图像的位置会发生明显的偏移。

因此,在进行图像平移时,需要根据实际需求选择合适的平移距离,以确保图像的位置调整符合预期。

四、图像仿射变换图像仿射变换是指通过线性变换和平移变换来改变图像的形状、大小和位置。

在实验中,我们通过调整仿射变换矩阵的参数来实现图像的仿射变换。

实验结果表明,仿射变换可以实现图像的旋转、缩放和平移等多种操作,且变换后的图像形状基本保持不变。

然而,当仿射变换矩阵的参数设置不当时,可能会导致图像的形变和失真现象。

五、图像透视变换图像透视变换是指通过透视投影将图像从一个平面映射到另一个平面。

在实验中,我们通过调整透视变换矩阵的参数来实现图像的透视变换。

图像变换创意调研报告总结

图像变换创意调研报告总结

图像变换创意调研报告总结简介图像变换是计算机视觉的一个重要研究领域,通过对图像进行各种变换和处理,可以实现多种创意效果。

本次调研旨在总结图像变换的常见方法和应用,并探索最新的创意应用。

常见方法图像变换可以分为几种常见的方法:几何变换几何变换是对图像的形状和位置进行变换,常见的几何变换包括平移、旋转、缩放和翻转。

通过调整图像的几何属性,可以改变图像的外观和结构,产生各种创意效果。

色彩变换色彩变换是对图像的颜色进行变换,常见的色彩变换包括调整亮度、对比度和色相等。

通过调整颜色的参数,可以产生各种艳丽或柔和的色彩效果,营造出不同的氛围。

滤波变换滤波变换是通过对图像进行卷积操作,实现图像的模糊、锐化、边缘检测等效果。

滤波变换可以改变图像的纹理和细节,增强或削弱某些特征,从而创造出各种独特的效果。

图像合成图像合成是将多个图像合并成一个新的图像。

常见的图像合成方法有图像融合、图像拼接和图像混合等。

通过将不同图像的元素进行组合,可以创造出富有想象力和创意的图像效果。

应用领域图像变换的应用领域非常广泛,下面列举几个典型的应用领域:图像处理软件图像处理软件是最常见的图像变换应用。

通过图像处理软件,用户可以对图像进行各种变换和处理,包括如调整亮度、对比度、色彩,以及添加滤镜、特效等。

图像处理软件可以满足用户对图像创意的需求,并提供方便易用的界面和操作。

广告设计广告设计是一个重要的创意应用领域。

通过图像变换技术,广告设计师可以创建出各种独特的广告效果,吸引人们的眼球。

图像变换可以使广告更加生动、夺人眼球,提高广告的吸引力和传播效果。

艺术创作艺术创作是图像变换的另一个重要应用领域。

艺术家可以通过图像变换技术,将传统的绘画和摄影与计算机技术相结合,创作出具有独特风格和表现力的艺术作品。

图像变换可以扩展艺术家的想象力和创作空间,使其作品更加生动、鲜活。

娱乐和游戏娱乐和游戏行业是图像变换的重要应用领域。

通过图像变换,可以制作出各种有趣和富有想象力的图像特效,增加娱乐和游戏的趣味性和可玩性。

图像格式转换实验报告

图像格式转换实验报告

实验1 图像格式转换实验报告学号:12224506姓名:陈振辉班级:5班一、实验目的掌握两种以上图像的格式,重点掌握BMP图像格式。

二、实验原理:1、JPEG文件的解码过程。

①.读入文件的相关信息按照上述的JPEG文件数据存储方式,把要解码的文件的相关信息一一读出,为接下来的解码工作做好准备。

参考方法是,设计一系列的结构体对应各个标记,并存储标记内表示的信息。

其中图像长宽、多个量化表和哈夫曼表、水平/垂直采样因子等多项信息比较重要。

以下给出读取过程中的两个问题。

1)整个文件的大体结构JFIF格式的JPEG文件(*.jpg)的一般顺序为:SOI(0xFFD8)APP0(0xFFE0)[APPn(0xFFEn)]可选DQT(0xFFDB)SOF0(0xFFC0)DHT(0xFFC4)SOS(0xFFDA)压缩数据EOI(0xFFD9)2)字的高低位问题JPEG文件格式中,一个字(16位)的存储使用的是 Motorola 格式, 而不是 Intel 格式。

也就是说, 一个字的高字节(高8位)在数据流的前面, 低字节(低8位)在数据流的后面,与平时习惯的Intel格式不一样。

.3)读出哈夫曼表数据在标记段DHT内,包含了一个或者多个的哈夫曼表。

不同位数的码字数量JPEG文件的哈夫曼编码只能是1~16位。

这个字段的16个字节分别表示1~16位的编码码字在哈夫曼树中的个数。

编码内容这个字段记录了哈夫曼树中各个叶子结点的权。

所以,上一字段(不同位数的码字数量)的16个数值之和就应该是本字段的长度,也就是哈夫曼树中叶子结点个数。

4)建立哈夫曼树读出哈夫曼表的数据后,就要建立哈夫曼树。

②.初步了解图像数据流的结构a) 在图片像素数据流中,信息可以被分为一段接一段的最小编码单元(Minimum CodedUnit,MCU)数据流。

所谓MCU,是图像中一个正方矩阵像素的数据。

矩阵的大小是这样确定的:查阅标记SOF0,可以得到图像不同颜色分量的采样因子,即Y、Cr、Cb 三个分量各自的水平采样因子和垂直采样因子。

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

实验报告
课程名称医学图像处理实验名称图像变换
专业班级
姓名
学号
实验日期
实验地点
2015—2016学年度第 2 学期
图1 原图像图2 灰度变换后的图像
分析:图像的灰度变换处理是图像增强处理技术中基础的空间域图像处理方法。

灰度灰度变换是指根据某种目标条件按照一定变换关系逐点改变原图像中每个像素灰度值的方法。

灰度变换法又可分为三种:线性、分段线性及非线性变换。

目的是为了改善画质,使图像的显示效果更加清晰。

2直方图均衡化
I=imread('skull.tif'); %读取图像
J=histeq(I); %指定直方图均匀化后的灰度级数n,默认值为64 imshow(I); %显示原图像
title('原图像'); %图像标题为‘原图像’
图3 原图像 图4 直方图均衡化所得图像 分析:直方图均衡化后的图像在整个灰度值动态变化范围内分布均匀化,改善了原图像的亮度
分布状态,增强图像的视觉效果。

它是非线性灰度变换。

1.52
2.53x 10
5原图像直方图010020001.5
2
2.5
3x 10
5均衡化变换后的直方图0100200
050100150200250图6直方图规定化所得图像
分析:直方图规定化就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。

直方图规定化变换后是亮图像的直方图。

直方图的低端已右移向灰度级的较亮区域4利用matlab软件实现数字图像傅里叶变换
I=imread('skull.tif'); %
imshow(I); %
fftI=fft2(I); %
sfftI=fftshift(fftI); %
RR=real(sfftI); %
II=imag(sfftI); %
图8 原图像图9 归一化后的图像
分析:利用matlab软件实现数字图像傅里叶变换。

二维离散傅立叶变换将傅里叶变化的中心
为。

相关文档
最新文档