MATLAB基础图形处理实现图形通道转换&灰度化&旋转缩放镜像拼接

该博客演示了MATLAB中对图像进行通道互换、灰度化、旋转15度(两种插值方式)以及缩放2.5倍的操作。使用imread、rgb2gray、imrotate、imresize等函数实现图像处理,并展示了最邻近插值和双线性插值的差异。最后,进行了图像的镜像翻转与拼接。

%practice,还是以彩色荷花图片lotus为例
%读入图片数据
Image1=imread('carphone.jpg');%图片1是原图,汽车与手机JPG格式的原图
%红绿通道互换
Image2=Image1;
Image2(:,:,1)=Image1(:,:,2);%图片二的红色通道替换成图片一的绿色通道
Image2(:,:,2)=Image1(:,:,1);%图片2的绿通道替换成图片一的宏通道
%这里的Image相当于C++里的temp临时变量,用于承载交换值,作为中转站
imshow(Image2);%显示转换好红绿通道的图片2
imwrite(Image2,'lotusChangeRG.jpg');%输出保存,命名意思为改变了红绿通道的lotus

%灰度化
gray=rgb2gray(Image1);%把彩色图转换为灰度图,利用函数
figure;%建立窗口
subplot(121),imshow(Image1),title('Orginal Image');%显示原始图像
subplot(122),imashow(gray),title('Gray Image');%窗口显示灰度图
imwrite(gray,'lotusGray.jpg');%输出灰度图并且保存
%图像旋转
Newgray1=imrotate(gray,15);
Newgray2=imrotate(gray,15,'bilinear');%bilinear利用双线性变换法,把下列S域的模拟滤波器转换为数字滤波器
figure;
subplot(121),imshow(Newgray1),title('旋转15°(最邻近插值)');
subplot(122),imshow(Newgray2),title('旋转15°(双线型插值)');
imwrite(Newgray1,'rotate1.ipg');
imwrite(Newgray2,'rotate2.jpg');
%图像缩放
Newgray3=imresize(gray,2.5,'nearst');%'nearst'最

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值