0%

图像基本运算

  1. 对图像进行线性点运算。
  2. 对图像比例放大1.5倍,比例缩小0.7倍,非比例放大到600x700像素,非比例缩小到300x400像素。
  3. 对图像旋转30度、60度、90度、135度和180度。

对于线性点运算:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
clc;
close all;
clear all;

I = imread('lenagray.jpg');
I = im2double(I);
figure(1); subplot(2, 2, 1);
imshow(I); title('实验人: 李博'); xlabel('原图像');

% 线性点运算

a = 1.5; b = 50;
I1 = a .* I + b / 255;
figure(1); subplot(2, 2, 2);
imshow(mat2gray(I1)); title('实验人: 李博'); xlabel('a = 1.5, b = 50, 增加对比度');

a = 0.3; b =50;
I2 = a .* I + b / 255;
figure(1); subplot(2, 2, 3);
imshow(mat2gray(I2)); title('实验人: 李博'); xlabel('a = 0.3, b = 50, 降低对比度');

a = -1; b = 50;
I3 = a .* I + b / 255;
figure(1); subplot(2, 2, 4);
imshow(mat2gray(I3)); title('实验人: 李博'); xlabel('a = -1, b = 50, 对图像求补');

% 缩放

I4 = imresize(I, 1.5, 'bicubic');
figure(2); subplot(2, 2, 1);
imshow(I4); title('实验人: 李博'); xlabel('比例放大 1.5 倍');
I5 = imresize(I, 0.7, 'bicubic');
figure(2); subplot(2, 2, 2);
imshow(I5); title('实验人: 李博'); xlabel('比例缩小 0.7 倍');
I6 = imresize(I, [600, 700], 'bicubic');
figure(2); subplot(2, 2, 3);
imshow(I6); title('实验人: 李博'); xlabel('非比例放大到600x700像素');
I7 = imresize(I, [300, 400], 'bicubic');
figure(2); subplot(2, 2, 4);
imshow(I7); title('实验人: 李博'); xlabel('非比例缩小到300x400像素');


% 旋转 对图像旋转30度、60度、90度、135度和180度。

I = imread('cameraman.tif');
figure(3); subplot(2, 3, 1);
imshow(I); title('实验人: 李博'); xlabel('原图');
I30 = imrotate(I, 30, 'crop');
figure(3); subplot(2, 3, 2);
imshow(I30); title('实验人: 李博'); xlabel('旋转 30 度');
I60 = imrotate(I, 60, 'crop');
figure(3); subplot(2, 3, 3);
imshow(I60); title('实验人: 李博'); xlabel('旋转 60 度');
I90 = imrotate(I, 90, 'crop');
figure(3); subplot(2, 3, 4);
imshow(I90); title('实验人: 李博'); xlabel('旋转 90 度');
I135 = imrotate(I, 135, 'crop');
figure(3); subplot(2, 3, 5);
imshow(I135); title('实验人: 李博'); xlabel('旋转 135 度');
I180 = imrotate(I, 180, 'crop');
figure(3); subplot(2, 3, 6);
imshow(I180); title('实验人: 李博'); xlabel('旋转 180 度');
如果对您有帮助,请我喝杯奶茶?