0%

使用matlab进行图像采样和量化

(1)对图像分别采样为256x256、128x128、64x64的图像。
(2)对图像分别量化为64级灰度图像、32级灰度图像、8级灰度图像和4级灰度图像。

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
clc;
close all;
clear globle;

% 图像采样
figure(1);
% 原始为512✖512的图像
img = imread('face.jpg');
% 采样为256✖256的图像
img_sampling_A = img(1:2:end, 1:2:end);
% 采样为128✖128的图像
img_sampling_B = img(1:4:end, 1:4:end);
% 采样为64✖64的图像
img_sampling_C = img(1:8:end, 1:8:end);

subplot(2, 2, 1), imshow(img), title('实验人: 李博'), xlabel('(a) 512 \times 512');
subplot(2, 2, 2), imshow(img_sampling_A), title('实验人: 李博'), xlabel('(b) 256 \times 256');
subplot(2, 2, 3), imshow(img_sampling_B), title('实验人: 李博'), xlabel('(c) 128 \times 128');
subplot(2, 2, 4), imshow(img_sampling_C), title('实验人: 李博'), xlabel('(d) 64 \times 64');

% subplot(2, 2, 1), imshow(add_waterMark(img, 0.7, 0.9, 'water_mark.png')), title('实验人: 李博'), xlabel('(a) 512 \times 512');
% subplot(2, 2, 2), imshow(add_waterMark(img_sampling_A, 0.7, 0.9, 'water_mark.png')), title('实验人: 李博'), xlabel('(b) 256 \times 256');
% subplot(2, 2, 3), imshow(add_waterMark(img_sampling_B, 0.7, 0.9, 'water_mark.png')), title('实验人: 李博'), xlabel('(c) 128 \times 128');
% subplot(2, 2, 4), imshow(add_waterMark(img_sampling_C, 0.7, 0.9, 'water_mark.png')), title('实验人: 李博'), xlabel('(d) 64 \times 64');

% 图像量化
figure(2);
% 64级灰度图像
img_quantization_A = floor(img / 4) * 4;
% 32级灰度图像
img_quantization_B = floor(img / 8) * 8;
% 8级灰度图像
img_quantization_C = floor(img / 32) * 32;
% 4级灰度图像
img_quantization_D = floor(img / 64) * 64;

subplot(2, 2, 1), imshow(img_quantization_A), title('实验人: 李博'), xlabel('(a) 64级灰度');
subplot(2, 2, 2), imshow(img_quantization_B), title('实验人: 李博'), xlabel('(b) 32级灰度')
subplot(2, 2, 3), imshow(img_quantization_C), title('实验人: 李博'), xlabel('(c) 8级灰度');
subplot(2, 2, 4), imshow(img_quantization_D), title('实验人: 李博'), xlabel('(d) 4级灰度');

% subplot(2, 2, 1), imshow(add_waterMark(img_quantization_A, 0.7, 0.9, 'water_mark.png')), title('实验人: 李博'), xlabel('(a) 64级灰度');
% subplot(2, 2, 2), imshow(add_waterMark(img_quantization_B, 0.7, 0.9, 'water_mark.png')), title('实验人: 李博'), xlabel('(b) 32级灰度')
% subplot(2, 2, 3), imshow(add_waterMark(img_quantization_C, 0.7, 0.9, 'water_mark.png')), title('实验人: 李博'), xlabel('(c) 8级灰度');
% subplot(2, 2, 4), imshow(add_waterMark(img_quantization_D, 0.7, 0.9, 'water_mark.png')), title('实验人: 李博'), xlabel('(d) 4级灰度');


imwrite(img, 'img.jpg');
imwrite(img_sampling_A, 'img_sampling_A.jpg');
imwrite(img_sampling_B, 'img_sampling_B.jpg');
imwrite(img_sampling_C, 'img_sampling_C.jpg');

imwrite(img_quantization_A, 'img_quantization_A.jpg');
imwrite(img_quantization_B, 'img_quantization_B.jpg');
imwrite(img_quantization_C, 'img_quantization_C.jpg');
imwrite(img_quantization_D, 'img_quantization_D.jpg');
如果对您有帮助,请我喝杯奶茶?