新·MATLAB图像几何处理.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第16周上机实验报告 学号:912104520120 姓名:鲍春霖 1、 内容 (1)写出以图像中心点作为支点旋转任意角度,图像仍保持完整的旋转程序。 (2)写出N*N模板的对称近邻平滑滤波算法的具体实现程序。 (3)PS上机运行旋转操作。 2、 原理clear all; A=imread(D:\cameraman.tif) [row,col]=size(A); B=A; C=A; for x=1:row for y=1:col B(x,y)=A(x,col+1-y); end end a=(-pi/6); xd=row*cos(a)-col*sin(a); yd=col*cos(a)-row*sin(a); for i=1:xd for j=1:yd m0=(i*cos(a)+(j+col*sin(a))*sin(a)); n0=(-i*sin(a)+(j+col*sin(a))*cos(a)); m=floor(m0); n=floor(n0); p=m0-m; q=n0-n; C(i,j)=0; if m=1n=1m256n256 C(i,j)=(1-q)*((1-p)*B(m,n)+p*B(m+1,n))+q*((1-p)*B(m,n+1)+p*B(m+1,n+1)); end end end subplot(1,2,1),imshow(A),title(?-í?); subplot(1,2,2),imshow(C),title(Dy×a?μ??oóí???); 我们通过老师给予的其中一个赋值程序,得到了在顺时针时候成立的一个程序。顺时针的时候,画布的扩展需要纵坐标的改变。而这个程序并不适用于旋转角度大于零,即逆时针的旋转,为此做出了一个优化,使得程序变得更加完整。 C(i,j)=(1-q)*((1-p)*B(m,n)+p*B(m+1,n))+q*((1-p)*B(m,n+1)+p*B(m+1,n+1)); 该语句是一个插值语句,语句作用是为了提升旋转后的画面质量。 (2)对称近邻平滑滤波 本程序作用在于做出一个N*N模板的对称近邻平滑滤波算法的具体实现程序。对称算法的要求就是当N为级数时候,有(N*N-1)/2对像素点,然后通过这些像素点与变换点的比较,选择这些像素点对中大小接近需要变换点的数值,然后对这些选择出来的(N*N-1)/2个像素点的灰度值求平均值,从而得出来需变换点的像素点灰度值。 3、 方法及程序 (1)旋转程序 clear all; A=imread(D:\cameraman.tif) [row,col]=size(A); B=A; C=A; for x=1:row for y=1:col B(x,y)=A(x,col+1-y); end end a=(-pi/6); if (a=0) xd=row*cos(a)-col*sin(a); yd=col*cos(a)-row*sin(a); else xd=row*cos(a)+col*sin(a); yd=col*cos(a)+row*sin(a); end for i=1:xd for j=1:yd if (a=0) m0=(i*cos(a)+(j+col*sin(a))*sin(a)); n0=(-i*sin(a)+(j+col*sin(a))*cos(a)); else m0=((i-row*sin(a))*cos(a)+(j)*sin(a)); n0=(-(i-row*sin(a))*sin(a)+(j)*cos(a)); end m=floor(m0); n=floor(n0); p=m0-m; q=n0-n; C(i,j)=0; if m=1n=1m256n256 C(i,j)=(1-q)*((1-p)*B(m,n)+p*B(m+1,n))+q*((1-p)*B(m,n+1)+p*B(m+1,n+1));

您可能关注的文档

文档评论(0)

xiaofei2001128 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档