MATLAB对图像进行灰度,翻转,旋转,缩放操作
环境:MALTAB R2018b
材料:随便一张好看的RGB图片
操作:灰度,旋转,缩放,翻转
这里用一张我比较喜欢的图片:
Code:(#脚本文件和照片需保存在同一目录,当然,用绝对路径当我没说.......)
clear all;
clc;
subplot(2, 3, 1);
x = imread('my3.jpg'); %读图片
imshow(x);
subplot(2, 3, 2);
x1 = rgb2gray(x); %灰度处理
imshow(x1);
subplot(2, 3, 3);
x2 = imrotate(x, 90, 'crop'); %旋转90°
imshow(x2);
subplot(2, 3, 4);
x3 = imresize(x, 0.5, 'nearest'); %缩小一倍
imshow(x3);
[R, C, Z] = size(x); %翻转代码
x4 = zeros(R, C, Z);
for i = 1:R
for j = 1:C
for s = 1:Z
x4(i, j, s) = x(i, C-j+1, s);
end
end
end
subplot(2, 3, 5);
imshow(uint8(x4)); %将double格式转换为uint8格式输出
subplot(2, 3, 6);
for k = 1: 3
x5(:,:,k) = fliplr(x(:, :, k)); %这里用了翻转函数,效果一样。
end
imshow(uint8(x5));
代码运行效果图: