




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图像的几何变换,1基本知识 2图像的读取和显示 3 几何变换的概念 4图像的缩放原理以及平移 5 图像旋转、相加、相减等操作 (二次课),基本知识,变量的定义 p=1 矩阵的定义 s=zeros(2,3,4) p=zeros(2,3) p=2 4 5; 4 5 6 p(:,1) 获取第一列 p(1,:) 获取第一行 p(1,2:3) 获取第一行的第2到第3列,矩阵的下标从开始,基本知识,row,col,con=size(s) 获取矩阵s的大小 row,col=size(p) 获取矩阵p的大小 for a=1:2:60 end if a10 b=10 else b=6 end,基本知识,fix(
2、x) :获取变量的整数部分 floor(x): 小于x的最大整数 ceil(x) :大于x的最小整数 round(x): 四舍五入 figure:在新的图中显示信息 subplot(x,y,n): 在一幅图上x*y的 plot(x,y,r*),plot(x,y,r*s,LineWidth,2, MarkerSize,10),线宽,标记大小,基本知识,图像读取 x,map= imread(filename) x,map =imread(filename,type) 显示图像 image(x) imshow(x) unit8(x) 将double型数据转换为无符号的整数,在图像进行显示前必须进行的
3、一个转换,图像保存 imwrite(x,filename,type) 彩色图变灰色图的方法 0.299*R+0.587*G+0.114*B,图像的空间平移、比例缩放、旋转、仿射变换和图像插值,改变像素的空间位置或估算新空间位置上的像素值。,对于单色(灰度)图像而言,每个像素的亮度用一个数值来表示,通常数值范围在0到255之间,0表示黑、255表示白,其它值表示处于黑白之间的灰度 彩色图像可以用红、绿、蓝三元组的二维矩阵来表示。通常,三元组的每个数值也是在0到255之间,0表示相应的基色在该像素中没有,而255则代表相应的基色在该像素中取得最大值,图像的质量 1.平均亮度 2.对比度 是指一幅图
4、象中灰度反差的大小。 对比度=最大亮度/最小亮度,3.清晰度 由图像边缘灰度变化的速度来描述。 4.分解力或分辨率,移变换平移变换,最邻近插值(近邻取样法) 对于通过反向变换得到的一个浮点坐标,对其进行简单的取整,得到一个整数型坐标,这个整数型坐标对应的像素值就是目的像素的像素值,图像大比例放大时的马赛克效应,放大10倍,思考: 如果比例太大,两种方法都会出现马赛克效应。你有没有办法解决?,(Sx-0)/(SW-0)=(Dx-0)/(DW-0),Sx=Dx*SW/DW,(Sy-0)/(SH-0)=(Dy-0)/(DH-0),Sy=Dy*SH/DH,二次线性插值公式为:tmpColor0=Col
5、or0*(1-u) + Color2*u;tmpColor1=Color1*(1-u) + Color3*u; DstColor =tmpColor0*(1-v) + tmpColor2*v; 展开公式为: pm0=(1-u)*(1-v); pm1=v*(1-u); pm2=u*(1-v); pm3=u*v; 则颜色混合公式为: DstColor = Color0*pm0 + Color1*pm1 + Color2*pm2 + Color3*pm3;,5.5.1 图像的缩小,一、图像的尺寸减半 2M*2N的图像缩小为:M*N的图像。 处理方法是: 取偶数行和偶数列构成新的图像。,图像的减半缩小
6、效果,二、依比例的缩小: M*N大小的图像缩小为:L*S大小。 其中:M/N=L/S=k. 1.计算c= L / M 2.设旧图像是F(x,y),新图像是I (x,y) 则:I (x,y) =F(int(c*x),int(c*y),取:2,3,4,6,7,8列;2,3,4行,图像的按比例缩小效果,三、不依比例缩小 这种操作一定带来图像的几何畸变。 M*N大小的图像缩小为:L*S大小。 其中:M/L=k1, N/S=k2. 1.计算c1=1/k1,c2=1/k2 2.设旧图像是F(x,y),新图像是I (x,y) 则:I (x,y) =F(int(c1*x),int(c2*y),取:2,3,5,
7、6列;2,4行,图像的不按比例任意缩小,5.5.2 图像的放大,图像的缩小操作中,是从现有的信息里如何挑选所需要的有用信息。 图像的放大操作中,则需对尺寸放大后所多出来的空格填入适当的值,这是信息的估计问题,所以较图像的缩小要难一些。 一、图像的成倍放大 常用的方法是:原来的一个点的值填到一个2*2的小块中去。,二、图像的按比例放大方法: 方法一: 将一点的值用一个小块来代替。即:,方法二: M*N大小的图像放大为:L*S大小。 其中:M/N=L/S=k. 1.计算c= L / M 2.设旧图像是F(x,y),新图像是I (x,y) 则:I (x,y) =F(int(c*x),int(c*y)
8、,三、任意不依比例放大 这种操作一定带来图像的几何畸变。 M*N大小的图像放大为:L*S大小。 其中: L / M =k1, S / N =k2. 1.计算c1=k1,c2=k2 2.设旧图像是F(x,y),新图像是I (x,y) 则:I (x,y) =F(int(c1*x),int(c2*y),图像不按比例放大,图像的旋转,图像的旋转实际上是坐标系的旋转,下图给出了图像旋转的原理示意图。,图像的旋转,为了尽量不扩大画布,所以是以画面的中心点为坐标原点进行旋转的。所以有: 设图像大小为M*N,作新图像的画布为M1*N1.,图像的旋转,因为像素的坐标都是整数,所以当用前面的方法旋转时,会出现画面
9、上有许多的空点,(即白点)这就影响了旋转图像的效果。为此我们还需要进行图像的空点的插值。,图像的旋转效果,图像的旋转,最简单的方法是行插值或是列插值方法: 1. 找出当前行的最小和最大的非白点的坐 标,记作:(i,k1)、(i,k2)。 2. 在(k1,k2)范围内进行插值,插值的方法 是:空点的像素值等于前一点的像素值。 3. 同样的操作重复M1行。,图像的旋转,插值处理示意图:,图像旋转中的插值处理效果,X,MAP=imread(lajiao.JPG,JPG); image(X) x1=X; row col=size(x1(:,:,1); newrow=floor(1.414*row);
10、newcol=floor(1.414*col); x3=ones(newrow,newcol,3)*255; sita=6.26*0.8; for i=1:1:row for j=1:1:col x=round(i-row/2)*cos(sita)+(j-col/2)*sin(sita)+newrow/2); y=round(-(i-row/2)*sin(sita)+(j-col/2)*cos(sita)+newcol/2); if xnewrow x=newrow; end,if ynewcol y=newcol; end x3(x,y,1)=X(i,j,1); x3(x,y,2)=X(i,
11、j,2); x3(x,y,3)=X(i,j,3); end end figure x4=uint8(x3) image(x4) imwrite(x4,hh.jpg,jpg),图像相加,图像相加,p1=imread(person1.bmp); p2=imread(person.bmp); rowp1, colp1,np1 =size(p1); rowp2,colp2,np2=size(p2); new =zeros(rowp1,colp1,3); threshold=0; a1=0.5; a2=1-a1; for i=1:rowp1 for j=1:colp1 new(i,j,1)= ceil(
12、p1(i,j,1)*a1+p2(i,j,1)*a2); new(i,j,2)=ceil(p1(i,j,2)*a1+p2(i,j,2)*a2); new(i,j,3)= ceil(p1(i,j,3)*a1+p2(i,j,3)*a2); end end figure subplot(2,2,1) imshow(p1) subplot(2,2,2) imshow(p2) subplot(2,2,3) new =uint8(new) imshow(new),图像相减,图像相减,p1=imread(back.bmp); p2=imread(person.bmp); rowp1, colp1,np1 =size(p1); rowp2,colp2,np2=size(p2); new =zeros(rowp1,colp1,3); threshold=40; for i=1:rowp1 for j=1:colp1 new(i,j,1)= p1(i,j,1)-p2(i,j,1); new(i,j,2)= p1(i,j,2)-p2(i,j,2); new(i,j,3)= p1(i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论