图形图像的几何变换.ppt

上传人:牧羊曲112 文档编号:5949672 上传时间:2023-09-07 格式:PPT 页数:43 大小:11.78MB
返回 下载 相关 举报
图形图像的几何变换.ppt_第1页
第1页 / 共43页
图形图像的几何变换.ppt_第2页
第2页 / 共43页
图形图像的几何变换.ppt_第3页
第3页 / 共43页
图形图像的几何变换.ppt_第4页
第4页 / 共43页
图形图像的几何变换.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

《图形图像的几何变换.ppt》由会员分享,可在线阅读,更多相关《图形图像的几何变换.ppt(43页珍藏版)》请在三一办公上搜索。

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=10else b=6end,基本知识,fix(x):获取变量的整数部分floor(

2、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型数据转换为无符号的整数,在图像进行显示前必须进行的一个转换,图像保存imwrite(x,filename,type)彩色图变

3、灰色图的方法 0.299*R+0.587*G+0.114*B,图像的空间平移、比例缩放、旋转、仿射变换和图像插值,改变像素的空间位置或估算新空间位置上的像素值。,对于单色(灰度)图像而言,每个像素的亮度用一个数值来表示,通常数值范围在0到255之间,0表示黑、255表示白,其它值表示处于黑白之间的灰度彩色图像可以用红、绿、蓝三元组的二维矩阵来表示。通常,三元组的每个数值也是在0到255之间,0表示相应的基色在该像素中没有,而255则代表相应的基色在该像素中取得最大值,图像的质量1.平均亮度 2.对比度 是指一幅图象中灰度反差的大小。对比度=最大亮度/最小亮度,3.清晰度 由图像边缘灰度变化的速

4、度来描述。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=Color0*(1-u)+Color2*u;tmpColor1=Color1*(1-u)+Col

5、or3*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的图像。处理方法是:取偶数行和偶数列构成新的图像。,图像的减半缩小效果,二、依比例的缩小:M*N大小的图像缩小为:L*S大小。其中:M/N=L/S=k.1.计算c=L/M2.设旧图像是F(x,y),新图像是

6、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,6列;2,4行,图像的不按比例任意缩小,5.5.2 图像的放大,图像的缩小操作中,是从现有的信息里如何挑选所需要的有用信息。图像的放大操作中,则需对尺寸放大后所多出来的空格填入适当

7、的值,这是信息的估计问题,所以较图像的缩小要难一些。一、图像的成倍放大 常用的方法是:原来的一个点的值填到一个2*2的小块中去。,二、图像的按比例放大方法:方法一:将一点的值用一个小块来代替。即:,方法二:M*N大小的图像放大为:L*S大小。其中:M/N=L/S=k.1.计算c=L/M2.设旧图像是F(x,y),新图像是I(x,y)则:I(x,y)=F(int(c*x),int(c*y),三、任意不依比例放大 这种操作一定带来图像的几何畸变。M*N大小的图像放大为:L*S大小。其中:L/M=k1,S/N=k2.1.计算c1=k1,c2=k2 2.设旧图像是F(x,y),新图像是I(x,y)则:

8、I(x,y)=F(int(c1*x),int(c2*y),图像不按比例放大,图像的旋转,图像的旋转实际上是坐标系的旋转,下图给出了图像旋转的原理示意图。,图像的旋转,为了尽量不扩大画布,所以是以画面的中心点为坐标原点进行旋转的。所以有:设图像大小为M*N,作新图像的画布为M1*N1.,图像的旋转,因为像素的坐标都是整数,所以当用前面的方法旋转时,会出现画面上有许多的空点,(即白点)这就影响了旋转图像的效果。为此我们还需要进行图像的空点的插值。,图像的旋转效果,图像的旋转,最简单的方法是行插值或是列插值方法:1.找出当前行的最小和最大的非白点的坐 标,记作:(i,k1)、(i,k2)。2.在(k

9、1,k2)范围内进行插值,插值的方法 是:空点的像素值等于前一点的像素值。3.同样的操作重复M1行。,图像的旋转,插值处理示意图:,图像旋转中的插值处理效果,X,MAP=imread(lajiao.JPG,JPG);image(X)x1=X;row col=size(x1(:,:,1);newrow=floor(1.414*row);newcol=floor(1.414*col);x3=ones(newrow,newcol,3)*255;sita=6.26*0.8;for i=1:1:rowfor j=1:1:colx=round(i-row/2)*cos(sita)+(j-col/2)*si

10、n(sita)+newrow/2);y=round(-(i-row/2)*sin(sita)+(j-col/2)*cos(sita)+newcol/2);if xnewrowx=newrow;end,if ynewcol y=newcol;end x3(x,y,1)=X(i,j,1);x3(x,y,2)=X(i,j,2);x3(x,y,3)=X(i,j,3);endendfigurex4=uint8(x3)image(x4)imwrite(x4,hh.jpg,jpg),图像相加,图像相加,p1=imread(person1.bmp);p2=imread(person.bmp);rowp1,co

11、lp1,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(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);endendfiguresubplot(2,2,1)imshow(p1)subplot(2,2,2

12、)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,j,3)-p2(i,j,3);if new(i,j,1)threshold new(i,j,1)=0;%new(i,j,1)+255;end if new(i,j,2)threshold new(i,j,2)=0;%new(i,j,2)+255;end if new(i,j,3)threshold new(i,j,3)=0;%new(i,j,3)+255;end endend,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号