%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'最

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

261

被折叠的 条评论
为什么被折叠?



