实验三 图像几何变换处理
- 格式:docx
- 大小:983.63 KB
- 文档页数:8
数字图像处理实验—图像得几何变换姓名:张慧班级:信息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.图像得平移。
实验三 ENVI影像的几何校正本专题旨在介绍如何在ENVI中对影像进行地理校正,添加地理坐标,以及如何使用ENVI进行影像到影像的几何校正。
遥感图像的几何纠正是指消除影像中的几何形变,产生一幅符合某种地图投影或图形表达要求的新影像。
一般常见的几何纠正有从影像到地图的纠正,以及从影像到影像的纠正,后者也称为影像的配准。
遥感影像中需要改正的几何形变主要来自相机系统误差、地形起伏、地球曲率以及大气折射等。
几何纠正包括两个核心环节:一是像素坐标的变换,即将影像坐标转变为地图或地面坐标;二是对坐标变换后的像素亮度值进行重采样。
本实验将针对不同的数据源和辅助数据,提供以下几种校正方法:Image to Map几何校正:通过地面控制点对遥感图像几何进行平面化的过程,控制点可以是键盘输入、从矢量文件中获取。
地形图校正就采取这种方法。
Image to image几何校正:以一副已经经过几何校正的栅格影像作为基准图,通过从两幅图像上选择同名点(GCP)来配准另一幅栅格影像,使相同地物出现在校正后的图像相同位置。
大多数几何校正都是利用此方法完成的。
Image to image自动图像配准:根据像元灰度值自动寻找两幅图像上的同名点,根据同名点完成两幅图像的配准过程。
当同一地区的两幅图像由于各自校正误差的影像,使得图上的相同地物不重叠时,可利用此方法进行调整1. 地形图的几何校正(1)打开并显示地形图从ENVI主菜单中,选择file →open image file,打开3-几何校正\地形图\G-48-34-a.JPG。
(2)定义坐标从ENVI主菜单栏中,选择Map →Registration →Select GCPs:Image to map。
在image to Map Registration对话框中,点击并选择New,定义一个坐标系从ENVI主菜单栏中,选择Map →Registration →Select GCPs: Image to Map。
实验报告几何变换实验实验报告:几何变换实验引言:几何变换是计算机图形学中的重要概念,它可以改变图像的形状、位置和大小。
在本次实验中,我们将通过对几何变换的实际操作,深入了解几何变换的原理和应用。
一、实验目的本次实验的主要目的是探究几何变换在图像处理中的应用,具体包括平移、旋转、缩放和翻转等几何变换操作。
通过实际操作和观察,我们将了解几何变换对图像的影响,并学习如何使用计算机编程实现这些变换。
二、实验材料和方法1. 实验材料:- 一台计算机- 图像处理软件(如Photoshop、GIMP等)- 编程软件(如Python、MATLAB等)2. 实验方法:- 步骤一:选择一张图片作为实验对象,并导入到图像处理软件中。
- 步骤二:使用图像处理软件进行平移操作,观察图像的位置变化。
- 步骤三:使用图像处理软件进行旋转操作,观察图像的旋转效果。
- 步骤四:使用图像处理软件进行缩放操作,观察图像的大小变化。
- 步骤五:使用图像处理软件进行翻转操作,观察图像的翻转效果。
- 步骤六:使用编程软件编写程序,实现上述几何变换操作,并观察结果。
三、实验结果与分析1. 平移操作:在实验中,我们发现通过平移操作,可以将图像在水平和垂直方向上进行移动。
通过调整平移的距离和方向,我们可以改变图像在画布上的位置。
这种操作常用于图像的对齐和拼接等应用中。
2. 旋转操作:旋转操作可以改变图像的角度和方向。
通过调整旋转的角度和中心点,我们可以使图像以不同的角度进行旋转。
这种操作常用于图像的矫正、仿射变换等应用中。
3. 缩放操作:缩放操作可以改变图像的大小。
通过调整缩放的比例,我们可以使图像变得更大或更小。
这种操作常用于图像的放大、缩小、裁剪等应用中。
4. 翻转操作:翻转操作可以改变图像的方向。
通过水平或垂直翻转,我们可以使图像在左右或上下方向发生镜像反转。
这种操作常用于图像的镜像处理、对称效果等应用中。
四、实验总结通过本次实验,我们深入了解了几何变换在图像处理中的应用。
课程: 数字图像处理实验日期: 2012年 5 月日成绩:实验三图像的几何变换一.实验目的及要求掌握图像几何变换的基本原理,熟练掌握数字图像的缩放、旋转、平移、镜像和转置的基本原理及其MATLAB编程实现方法二、实验原理图像的几何变换是图像处理和图像分析的基础内容之一,它不仅提供了产生某些特殊效果图像的可能,而且可使图像处理和分析的程序简单化,特别是当图像具有一定的规律时,一个图形可以由另一个图像通过几何变换来实现。
图像的几何变换不改变图像的像素值,而改变像素所在位置。
从变换的性质分,图像的几何变换有位置变换(平移、镜像、旋转)、形状变换(比例缩放、错切)和复合变换等。
图像的位置变换主要包括图像平移变换、图像镜像变换和图像旋转变换等。
三、实验内容(一)研究以下程序,分析程序功能;输入执行各命令行,认真观察命令执行的结果。
熟悉程序中所使用函数的调用方法,改变有关参数,观察试验结果。
1. 图像缩放clear all, close allI = imread('cameraman.tif');Scale = 1.35; % 将图像放大1.35倍J1 = imresize(I, Scale, 'nearest'); %using the nearest neighbor interpolation J2 = imresize(I, Scale, 'bilinear'); %using the bilinear interpolationimshow(I), title('Original Image');figure, imshow(J1), title('Resized Image-- using the nearest neighbor interpolation ');figure, imshow(J2), title('Resized Image-- using the bilinear interpolation ');% 查看imresize使用帮助help imresize说明:❶注意观察不同插值方法的图像表现;❷改变图像缩放因子Scale,重做上述实验。
实验三 ENVI影像的几何校正本专题旨在介绍如何在ENVI中对影像进行地理校正,添加地理坐标,以及如何使用ENVI进行影像到影像的几何校正。
遥感图像的几何纠正是指消除影像中的几何形变,产生一幅符合某种地图投影或图形表达要求的新影像。
一般常见的几何纠正有从影像到地图的纠正,以及从影像到影像的纠正,后者也称为影像的配准。
遥感影像中需要改正的几何形变主要来自相机系统误差、地形起伏、地球曲率以及大气折射等。
几何纠正包括两个核心环节:一是像素坐标的变换,即将影像坐标转变为地图或地面坐标;二是对坐标变换后的像素亮度值进行重采样。
本实验将针对不同的数据源和辅助数据,提供以下几种校正方法:Image to Map几何校正:通过地面控制点对遥感图像几何进行平面化的过程,控制点可以是键盘输入、从矢量文件中获取。
地形图校正就采取这种方法。
Image to image几何校正:以一副已经经过几何校正的栅格影像作为基准图,通过从两幅图像上选择同名点(GCP)来配准另一幅栅格影像,使相同地物出现在校正后的图像相同位置。
大多数几何校正都是利用此方法完成的。
Image to image自动图像配准:根据像元灰度值自动寻找两幅图像上的同名点,根据同名点完成两幅图像的配准过程。
当同一地区的两幅图像由于各自校正误差的影像,使得图上的相同地物不重叠时,可利用此方法进行调整1. 地形图的几何校正(1)打开并显示地形图从ENVI主菜单中,选择file →open image file,打开3-几何校正\地形图\G-48-34-a.JPG。
(2)定义坐标从ENVI主菜单栏中,选择Map →Registration →Select GCPs:Image to map。
在image to Map Registration对话框中,点击并选择New,定义一个坐标系从ENVI主菜单栏中,选择Map →Registration →Select GCPs: Image to Map。
关于图形图像处理实训报告总结【九篇】实训报告总结:图形图像处理实训图形图像处理实训是计算机科学与技术专业的基础课程之一。
通过本次实训课程,我深入了解了图形图像处理的基本概念、方法和技术,并通过实际操作来提升了自己的实践能力。
下面是对本次实训的九篇报告总结:1. 实验一:图像读取与显示本次实验主要是学习如何读取和显示图像,以及使用Matplotlib库进行图像展示。
通过实验,我掌握了图像读取和显示的基本方法,并学会了基本的图像处理操作。
2. 实验二:图像的灰度变换实验二主要是学习图像的灰度变换,包括线性变换和非线性变换。
我学会了如何使用不同的灰度变换函数来调整图像的亮度和对比度,进一步提升图像的质量。
3. 实验三:图像的空间域滤波本次实验主要是学习图像的空间域滤波技术,包括均值滤波、中值滤波和高斯滤波等。
通过实验,我掌握了不同滤波方法的原理和实现方式,并学会了如何选择合适的滤波方法来降噪和模糊图像。
4. 实验四:图像的频域滤波实验四主要是学习图像的频域滤波技术,包括傅里叶变换和频域滤波等。
通过实验,我了解了傅里叶变换的原理和应用,并学会了如何使用频域滤波来实现图像的锐化和平滑。
5. 实验五:图像的形态学处理本次实验主要是学习图像的形态学处理技术,包括腐蚀、膨胀、开运算和闭运算等。
通过实验,我学会了如何使用形态学操作来改变图像的形状和结构,进一步改善图像的质量。
6. 实验六:图像的边缘检测实验六主要是学习图像的边缘检测技术,包括Sobel算子、Laplacian算子和Canny算子等。
通过实验,我了解了不同边缘检测方法的原理和应用,并学会了如何使用边缘检测来提取图像的轮廓和特征。
7. 实验七:图像的分割与聚类本次实验主要是学习图像的分割与聚类技术,包括阈值分割、区域生长和K均值聚类等。
通过实验,我掌握了不同分割与聚类方法的原理和应用,并学会了如何使用分割与聚类来识别和分析图像中的目标和区域。
8. 实验八:图像的特征提取与描述子实验八主要是学习图像的特征提取和描述子技术,包括尺度不变特征变换(SIFT)和方向梯度直方图(HOG)等。
实验三图像几何变换处理
****************共3小题****************
20124178 付蕊
一、实验目的及要求
1.了解图像的几何空间变换和图像插值的基本方法;
2.对图像进行相应的几何变换操作。
二、实验设备与软件
1.PC计算机
2.MATLAB软件/语言包括图像处理工具箱(Image Processing Toolbox) 3.实验所需要的图片
三.实验内容
1.图像缩放
>> I=imread('pout.tif');
>> figure,imshow(I);
>> m=[0.5,0,0;0,0.5,0;0,0,1];
>> J=maketform('affine',m);
>> K=imtransform(I,J);
>> figure,imshow(K);
2.图像旋转
>> I=imread('pout.tif');
>> m=[cos(pi/4),sin(pi/4),0;-sin(pi/4),cos(pi/4),0;0,0,1]; >> J=maketform('affine',m);
>> figure,imshow(I);
>> K=imtransform(I,J);
>> figure,imshow(K);
3.图像剪切
①水平剪切
>> I=imread('pout.tif'); >> m=[1,0,0;0.5,1,0;0,0,1]; >> J=maketform('affine',m); >> K=imtransform(I,J);
>> figure,imshow(I);
>> figure,imshow(K);
②垂直剪切
>> I=imread('pout.tif');
>> m=[1,0.5,0;0.5,1,0;0,0,1]; >> J=maketform('affine',m); >> K=imtransform(I,J);
>> figure,imshow(I);
>> figure,imshow(K);
③水平镜像
>> I=imread('pout.tif'); >> m=[-1,0,0;0,1,0;1,0,1]; >> J=maketform('affine',m); >> K=imtransform(I,J);
>> figure,imshow(I);
>> figure,imshow(K);
④垂直镜像
>> I=imread('pout.tif'); >> m=[1,0,0;0,-1,0;0,1,1]; >> J=maketform('affine',m); >> K=imtransform(I,J);
>> figure,imshow(I);
>> figure,imshow(K);
四、参考程序代码
%图像缩放
Im=imread('pepperssm1.png');
Im1=imresize(Im,2,'nearest');%第二个参数小于1为缩小Im2=imresize(Im,2,'bilinear');
Im3=imresize(Im,2,'bicubic');
figure(1);
imshow(Im);
title('原图像');
figure(2);
imshow(Im1);
title('最近邻插值法');
figure(3);
imshow(Im2);
title('双线性插值法');
figure(4);
imshow(Im3);
title('双立方插值法');
Im4=imresize(Im,[200 200]);%用最近邻插值把图像变成200*200的大小
figure(5);
imshow(Im4);
title('200*200');
%%%%图像旋转
Im=imread('cameraman.tif');
Im1=imrotate(Im,30,'bilinear');%用双线性法逆时针旋转图像30度
Im2=imrotate(Im,30,'bilinear','crop');%不改变原图大小,超出画布的部分被剪切掉
subplot(1,3,1);
imshow(Im);
title('原图像');
subplot(1,3,2);
imshow(Im1);
title('改变原图大小的旋转');
subplot(1,3,3);
imshow(Im2);
title('不改变原图大小的旋转');
figure(2);
for i=1:20
Im3=imrotate(Im,15*i,'crop');
imshow(Im3);
end
%图像剪切
Im=imread('cameraman.tif');
Im1=imcrop(Im);%按指定参数剪切图像
subplot(1,2,1);
imshow(Im);
title('原图像'); subplot(1,2,2); imshow(Im1);
title('剪切后的图像');。