1. Trang chủ
  2. » Cao đẳng - Đại học

Báo cáo thí nghiệm môn đa phương tiện đại học bách khoa hà nội

21 35 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 1,58 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

MỤC LỤC MODULE 1: CÁC THAO TÁC XỬ LÝ ẢNH TRÊN MATLAB .... MODULE 1: CÁC THAO TÁC XỬ LÝ ẢNH TRÊN MATLAB 1.. Hiển thị 3 ảnh thành phần của ảnh RGB của ảnh và vẽ histogram của 3 ảnh cuu d

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ - VIỄN THÔNG

Trang 2

MỤC LỤC

MODULE 1: CÁC THAO TÁC XỬ LÝ ẢNH TRÊN MATLAB 2

MODULE 2: BIẾN ĐỔI DCT ẢNH KHỐI TRƯỚC KHI NÉN 7

MODULE 3: TIẾP CẬN XỬ LÝ AUDIO VÀ VIDEO 11

MODULE 4 THIẾT KẾ BỘ MÃ HÓA – GIẢI MÃ TỰA JPEG 17

cuu duong than cong com

Trang 3

MODULE 1: CÁC THAO TÁC XỬ LÝ ẢNH

TRÊN MATLAB

1 Đọc file ảnh từ MatLab

Code:

A = imread('myAvt.jpg'); % Ham doc anh trong thu muc hien hanh

imshow(A); % Ham hien thi anh

Kết quả thu được:

Nhận xét:

Ma trận ảnh A thu được là một mảng dữ liệu 3 chiều kích thước 256x256x3 định nghĩa các giá trị màu red, green, blue (giá trị 0 – 255) cho mỗi pixel riêng biệt

2 Hiển thị 3 ảnh thành phần của ảnh RGB của ảnh và vẽ histogram của 3 ảnh

cuu duong than cong com

Trang 4

subplot(331); imshow(A);

subplot(334); imshow(R); title('R'); % Anh thanh phan R

subplot(335); imshow(G); title('G'); % Anh thanh phan G

subplot(336); imshow(B); title('B'); % Anh thanh phan B

subplot(337); imhist(A(:,:,1)); % Histogram cua thanh phan R

subplot(338); imhist(A(:,:,2)); % Histogram cua thanh phan G

subplot(339); imhist(A(:,:,3)); % Histogram cua thanh phan B

Kết quả thu được:

3 Chuyển đổi sang ảnh xám Vẽ histogram của ảnh này

Code:

A = imread('myAvt.jpg');

gray = rgb2gray(A); % Chuyen sang anh xam

subplot(121); imshow(gray); title('Anh xam');

subplot(122); imhist(gray); title('Histrogram cua anh xam');

cuu duong than cong com

Trang 5

Kết quả thu được:

Tăng độ tương phản của hình ảnh đầu ra

Code:

A = imread('myAvt.jpg');

gray = rgb2gray(A); % Chuyen sang anh xam

subplot(121); imshow(gray); title('Anh xam');

A_adjust = imadjust(gray, [0.35 0.65]); % Dieu chinh do tuong phan

subplot(122); imshow(A_adjust); title('Anh chinh do tuong phan'); cuu duong than cong com

Trang 6

Kết quả thu được:

5 Hiển thị ảnh âm bản

Code:

A = imread('myAvt.jpg');

gray = rgb2gray(A); % Chuyen sang anh xam

amban = 255.-gray; % Chuyen sang anh am ban

subplot(121); imshow(amban); title('Anh am ban');

subplot(122); imhist(amban); title('Histogram cua anh am ban');

xlim([0 255]);

cuu duong than cong com

Trang 7

Kết quả thu được:

cuu duong than cong com

Trang 8

MODULE 2: BIẾN ĐỔI DCT ẢNH KHỐI

Trang 9

0.1351 0.0586 0.0802 -0.0210 -0.0102 0.1090 -0.0724 -0.0872 -0.0178 -0.0309 0.0996 -0.0579 0.0032 0.0533 0.0650 -0.0315 -0.0210 0.0098 0.0440 0.0221 0.0903 -0.1055 -0.1898 -0.0457 0.1425 0.0024 0.1366 0.0348 0.0010 0.0056 -0.0165 0.0807 0.0601 -0.0002 -0.1129 0.0433 0.0301 -0.1022 0.0077 0.0042 -0.2115 -0.1689 0.0237 0.0216 0.0000 0.0154 0.0982 -0.0805 0.0367 -0.0639 -0.0473 -0.1355 0.0952 -0.0156 -0.0002 -0.0266

Thực hiện biến đổi DCT ngược bằng hàm idct2

a_idct = idct2(a_dct);

a_idct =

208.0000 245.0000 107.0000 173.0000 70.0000 112.0000 181.0000 245.0000 231.0000 247.0000 234.0000 193.0000 11.0000 97.0000 193.0000 87.0000 32.0000 40.0000 202.0000 190.0000 24.0000 195.0000 70.0000 149.0000 233.0000 248.0000 245.0000 100.0000 210.0000 203.0000 174.0000 57.0000 161.0000 245.0000 167.0000 167.0000 177.0000 47.0000 167.0000 192.0000 24.0000 124.0000 9.0000 43.0000 81.0000 125.0000 41.0000 65.0000 71.0000 204.0000 217.0000 180.0000 243.0000 114.0000 30.0000 129.0000 140.0000 36.0000 239.0000 8.0000 8.0000 165.0000 127.0000 178.0000

Nhận xét: kết quả biến đổi DCT ngược cho kết quả giống với ma trận ban đầu

2 Thực hiện phép biến đổi DCT (Tính tay) cho ma trận

Biến đổi DCT theo từng hàng ta được:

cuu duong than cong com

Trang 10

A = zeros(16); B = zeros(16); % Tao ma tran 0 16x16

A(6:11,6:11) = 255; % Tao ma tran A nhu yeu cau

subplot(121); imshow(A); title('Anh tao ban dau'); % Hien thi anh ban dau

% Chia anh A thanh 4 khoi 8x8

A1 = A(1:8,1:8); A2 = A(1:8,9:16);

A3 = A(9:16,1:8); A4 = A(9:16,9:16);

% Thuc hien bien doi DCT cac khoi anh

A1_dct = dct2(A1); A2_dct = dct2(A2);

A3_dct = dct2(A3); A4_dct = dct2(A4);

% Bang trong so luong tu hoa

% Chia cho bang luong tu hoa

A1_lt = A1_dct./Q; A2_lt = A2_dct./Q;

A3_lt = A3_dct./Q; A4_lt = A4_dct./Q;

% Thuc hien bien doi IDCT

A1_I = idct2(A1_lt); A2_I = idct2(A2_lt);

A3_I = idct2(A3_lt); A4_I = idct2(A4_lt);

% Ghep anh

B(1:8,1:8) = A1_I; B(1:8,9:16) = A2_I;

B(9:16,1:8) = A3_I; B(9:16,9:16) = A4_I;

subplot(122); imshow(B); title('Anh tao sau khi nen'); % Hien thi anh B

cuu duong than cong com

Trang 12

MODULE 3: TIẾP CẬN XỬ LÝ AUDIO VÀ VIDEO

Audio

1 Nạp 1 file audio vào MatLab và bật qua loa máy tính

[y, fs] = audioread('myAudio.wav');

title('Song du lieu');

Kết quả thu được:

Tăng kích thước dạng sóng lên 30%

title('Song du lieu sau khi tang len 30%');

cuu duong than cong com

Trang 13

Kết quả thu được:

2 Tạo 1 vector 2*4096 giá trị ngẫu nhiên Đặt tần số lấy mẫu Fs = 4096

title('Song du lieu');

cuu duong than cong com

Trang 14

Kết quả thu được:

Trang 15

2 Hiển thị từng khung ảnh (frame)

Code:

file = aviinfo('myVideo.avi'); % Lay thong tin file

nFrames = file.NumFrames; % So frame trong video

Rate=file.AudioRate;

for k = 1:10 % Lay 10 frame dau tien

this_frame = read(M, k); % Doc tung frame

Trang 16

3 Tạo ra một đoạn phim mới bằng cách hoán vị ngẫu nhiên các frame ảnh gốc ban đầu

Code:

file = VideoReader('myVideo.avi'); % Lay thong tin file video

newavi = VideoWriter('newvideo.avi'); % Tao ra 1 file avi moi

newavi.FrameRate = 30;

open(newavi);

cuu duong than cong com

Trang 17

pos = randi([1 150],1,150); % Hoan vi ngau nhien vi tri cac frame

Trang 18

MODULE 4 THIẾT KẾ BỘ MÃ HÓA – GIẢI MÃ TỰA JPEG

1 Mã hóa

Code:

clear all, close all;

imRGB = imread('myAvt.jpg');

figure, imshow(imRGB), title('RGB Full Image');

imYIQ = rgb2ntsc(imRGB);

imYIQsubI = imresize(imYIQ(:,:,2), 0.5, 'bilinear');

imYIQsubQ = imresize(imYIQ(:,:,3), 0.5, 'bilinear');

Trang 19

cuu duong than cong com

Trang 21

figure(1);imshow(I1);title('Original image');

figure(2);imshow(K);title('Restored image from DCT');

Kết quả mô phỏng:

cuu duong than cong com

Ngày đăng: 07/09/2021, 10:54

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w