tceic.com
学霸学习网 这下你爽了
当前位置:首页 >> >>

Matlab实现图像旋转

%%%%%%对图像进行旋转处理 clc;clear;close;

naturalimag=imread('xuanzhuan.bmp');%jpegtu.jpg figure(1); imshow(naturalimag); title('原图像'); [m,n,r]=size(naturalimag);%%%%m 为行数,x 方向,n 为列数,y 方向,r 为维数

dag=45*pi/180;

%旋转的角度

backgroundgray=0;%%%%用作背景值的灰度值 a=cos(dag); b=sin(dag); processedxmin=round(a-n*b); processedxmax=round(m*a-b); processedymin=round(a+b); processedymax=round(m*b+n*a);

nr=processedxmax-processedxmin+1;%%%%行数,x nc=processedymax-processedymin+1;%%%%%列数,y

processedimag(1:nr,1:nc,1:r)=backgroundgray; for i=1:m for j=1:n ii=round(i*a-j*b)-processedxmin+1; jj=round(i*b+j*a)-processedymin+1; for k=1:r processedimag(ii,jj,k)=naturalimag(i,j,k); end end

end figure(2); imshow(processedimag/255); title('旋转后未插值处理的图像'); %%%%对图像中空格进行行插值 for i=1:nr for j=2:nc-1 for k=1:r if(processedimag(i,j,k) == backgroundgray && processedimag(i,j-1,k) ~=

backgroundgray && processedimag(i,j+1,k) ~= backgroundgray ) processedimag(i,j,k) =processedimag(i,j-1,k) ; end end end end figure(3); imshow(processedimag/256); title('旋转并经插值处理的图像'); %%%%matlab 自带的旋转函数 X=imrotate(naturalimag,45); figure(4) imshow(X); title('用 matlab 自带的旋转函数运算得到的旋转图像');


网站首页 | 网站地图 | 学霸百科 | 新词新语
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com