a=imread('D:\ebook\lena.bmp');
a=rgb2gray(a);
a1=imrotate(a,35,'bilinear');%%旋转函数,35为旋转角度,bilinear为旋转后不是整数点的像素值 通过双线性插值得到。当旋转角度为正时,逆时针旋转;当旋转角度为负时,顺时针旋转。
figure,imshow(a);
figure,imshow(a1);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
如果要对RGB图像旋转,可以对其各个分量进行旋转,最后合成彩色图像即可。假设彩色图像为a:
R=a(:,:,1);
G=a(:,:,2);
B=a(:,:,3);
对RGB用imrotate旋转同样的角度后变为R',G',B',则彩色图像为a1那么
a1(:,:,1)=R';
a1(:,:,2)=G';
a1(:,:,3)=B';
显示a1即可。
a=imread('D:\ebook\lena.bmp');a=rgb2gray(a);a1=imrotate(a,35,'bilinear');%%旋转函数,35为旋转角度,bilinear为旋转后不是整数点的像素值 通过双线性插值得到。当旋转角度为正时,逆时针旋转;当旋转角度为负时,顺时针旋转。
程序过程如下:
1、读取图像
2、显示原图
3、分离RGB3矩阵,用255减去每个矩阵的各点值,生成新的RGB矩阵
4、原图每个RGB值乘以预先设定的设定的FIX值
5、新RGB矩阵每个点值乘以1-FIX值
6、两图像内插融合
7、显示处理后图像