- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
新教案3图像几何操作
图像的几何变换 图像几何变换又称为图像的空间变换,它将一幅图像中的坐标位置映射到另一幅图像中的新的坐标位置。关键就是要确定空间映射关系,以及映射过程中的变换参数。 几何变换不改变图像的像素值,只是在图像平面上进行像素的重新排列。 图像的裁剪 imcrop函数:该函数有两个参数,一个用来指定裁剪图像,一个用来定义裁剪矩形。 自定义区域对图像进行裁剪:Matlab中提供了定义多边形区域的函数roipoly,可以使用该函数定义多边形区域,然后实行裁剪操作。直接调用roipoly函数可以交互实现任意多边形的区域选取。 平移变换 图像平移就是将图像中所有的点按照指定的平移量水平或者垂直移动 设(x0,y0)为图像上的一点,图像水平平移量为Tx,垂直平移量为Ty,则平移后的点坐标(x1,y1)为:x1= x0 + Tx y1= y0 + Ty 经过变换得到: x0= x1 - Tx y0= y1 - Ty 由新图中的像素(i, j)可以得到对应原图中的像素(i-Tx, j-Ty)。如果Tx大于i或者Ty大于j,则点(i-Tx, j-Ty)超出了原图范围,可以将它的像素值设置为0或者255 对于原图中被移出图像显示区域的点在保持图像大小不变的情况下通常直接丢弃。 图像镜像变换 镜像变换又分为水平镜像和垂直镜像。水平镜像即将图像左半部分和右半部分以图像竖直中轴线为中心轴进行对换;而垂直镜像是将图像上半部分和下半部分以图像水平中轴线为中心进行对换。 图像镜像的变换公式 水平镜像的变换关系: 垂直镜像的变换关系: 图像转置 图像转置是将图像像素的x坐标和y坐标互换,如图所示。图像的大小会发生改变:高度和宽度互换。 图像缩放 图像缩放指图像大小按照指定的比率放大或者缩小,如图所示: 图像缩放的变换公式: 假设图像x轴方向的缩放比率Sx,y轴方向的缩放比率Sy,变换表达式为: Matlab提供专门的缩放函数imresize: B=imresize(A, Scale, method); 参数说明: 参数A为要缩放的原始图像 Scale为统一的缩放比例 可选参数method用于指定插值方法,合法取值为bicubic, bilinear, nearest三种,默认为最近邻插值 B为缩放后的图像 图像的缩放 imresize函数缩放图像: 【例2-2】使用imresize函数缩小或放大图像。 下面程序把图像缩小到原来的0.5倍。c=imread(D:\earth.jpg); c2=imresize(c,0.5); imshow(c2) 下面程序把原图像变成100行100列图像,行数增加,使 用插值函数完成颜色的填补。 c=imread(D:\earth.jpg); c2=imresize(c,[100,100]); imshow(c2) 图像旋转 旋转一般是指将图像围绕某一指定点旋转一定的角度,旋转通常也会改变图像的大小,可以把转出显示区域的图像截去,也可以改变输出图像的大小以扩展显示范围。 1、以原点为中心的旋转 如图所示,点P(x0,y0)绕原点逆时针旋转角度θ到点P1(x1,y1)。 经过推导得到变换公式为: 2、以任意点为中心的旋转 将平移和旋转相结合,即先进行坐标平移,再以新的坐标原点为中心旋转,然后将新原点平移回原坐标系的原点。 Matlab提供围绕图像中心的旋转变换函数imrotate,调用格式如下: B=imrotate(A,angle,method,crop); 参数说明: A是要旋转的图像 angle为旋转角度,单位为度,如果值为正,则imrotate函数逆时针方向旋转 可选参数为imrotate函数指定插值方法 crop选项会裁减旋转后增大的图像,使得得到的图像和原图大小一致 Matlab使用imrotate函数旋转图像。例如,使用下面命 令段可以把图像逆时针旋转30度。 B=imread(ic.tif); imshow(B) figure imrotate(B,30, crop) 这几句命令绘制出图2-4(a)与(b)图。 插值方法的比较: A=imread(C:\Users\admin\Desktop\021.jpg); % 图像逆时针旋转30度的比较 B=imrotate(A,30,nearest); C=imrotate(A,30,bilinear); D=imrotate(A,30,bicubic); subplot(2,2,1),imshow(A);title(原图像); subplot(2,2,2),imshow(B
文档评论(0)