图像的平移:
clear;
image1 = imread('test.jpg');%读取图像
se = translate(strel(1), [30 30]);%将一个平面化元素分别向下和向右移动30个位置
image2 = imdilate(image1, se);%利用膨胀函数平移图像
imshow(image1);%显示图像
figure;
imshow(image2);
图像镜像:
image1 = imread('test.jpg');
Flip1 = fliplr(image1);%图像水平镜像
Flip2 = flipud(image1);%图像垂直镜像
imshow(Flip1);
figure;
imshow(Flip2);
图像旋转:
image1 = imread('test.jpg');
image2 = imrotate(image1, 30, 'bilinear', 'crop');%将图像逆时针旋转30°,并裁减图像,使其和原图像大小一致
imshow(image2);
图像裁剪:
image1 = imread('test.jpg');
image2 = imcrop(image1, [x1 y1 x2 y2]);%从(x1, y1)处裁剪,到(x1+x2, y1+y2)处停止
imshow(image2);
图像轮廓:
image1 = rgb2gray(imread('test.jpg'));
imcontour(image1, 3);
噪声滤波:
clear;
image1 = rgb2gray(imread('test.jpg'));
subplot(131);
imshow(image1);
image2 = imnoise(image1, 'salt & pepper');%添加椒盐噪声
subplot(132);
imshow(image2);
image3 = medfilt2(image2);%使用中值滤波
subplot(133);
imshow(image3);
生成彩色图片:
R = uint8(218*ones(512, 512));
G = uint8(67*ones(512, 512));
B = uint8(74*ones(512, 512));
image = cat(3, R, G, B);
imshow(image);