1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn đại số tuyến tính n14 mt1007 l05 đề tài 14 nén ảnh bằng phép biến đổi haar

15 20 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

Tiêu đề Nén Ảnh Bằng Phép Biến Đổi Haar
Tác giả Nguyễn Xuân Quyết, Phạm Ngọc Như Quỳnh, Nguyễn Hoàng Sâm, Đặng Thành Tài, Trần Thanh Tâm, Hồ Ngọc Tân, Phan Quỳnh Thái, Mai Phương Thảo
Trường học Trường Đại Học Bách Khoa Tp.Hcm
Chuyên ngành Đại Số Tuyến Tính
Thể loại Báo Cáo Bài Tập Lớn
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 15
Dung lượng 162,87 KB

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

Nội dung

BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH ĐỀ TÀI 14 Nén ảnh bằng phép biến đổi Haar TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM ĐẠI HỌC QUỐC GIA TP.. Trong số đó, với các ưu điểm vượt trội so với các ph

Trang 1

BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH

ĐỀ TÀI 14 Nén ảnh bằng phép biến đổi Haar TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

Trang 2

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA TP.HCM ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH

ĐỀ TÀI 14 Nén ảnh bằng phép biến đổi Haar

Trang 3

Danh sách thành viên Nhóm 14 – ĐSTT (MT1007)_L05

Danh

sách thành viên 1

Mục lục 2

Lời mở đầu 3

Chương I Cơ sở lý thuyết 4

I Phép biến đổi Haar: 4

1 Giới thiệu chung: 4

2 Ứng dụng: 4

II Nén ảnh bằng phép biến đổi Haar: 4

1 Thuật toán: 4

2 Nén mất dữ liệu: 4

3 Nén không mất dữ liệu: 4

4 Quá trình nén ảnh: 4

Chương II Lập trình Matlab 4

I Giới thiệu chung: 4

II Các lệnh được dung: 4

III Đoạn code: 4

Trang 4

Chương III Tổng kết 4

I Nhận xét chung: 4

II Kết luận: 4

III Tài liệu tham khảo: 4

Lời cảm ơn 5

Trang 5

Lời mở đầu

Trong những năm gần đây, tài nguyên và dữ liệu máy tính đang có xu hướng tăng theo cấp số nhân Mặc dù cả tài nguyên máy tính và dữ liệu đều đang phát triển, nhưng có một sự tương phản hoàn toàn giữa các tốc độ tăng trưởng giống nhau Giờ đây, chúng ta có khối lượng dữ liệu rất lớn và không đủ tài nguyên máy tính

để xử lý chúng trong một khoảng thời gian thích hợp Điều này dẫn chúng ta đến một trong những vấn đề chính mà thế giới đang phải đối mặt ngay bây giờ Làm thế nào chúng ta có thể nén thông tin dữ liệu trong khi vẫn duy trì hầu hết các thông tin có trong dữ liệu?

Hiện nay, các nhà nghiên cứu đã có đa dạng phương pháp xử lý tín hiệu với nhiều thuật toán khác nhau để khắc phục vấn đề Trong số đó, với các ưu điểm vượt trội

so với các phép biến đổi truyền thống, phép biến đổi lâu đời Haar đang được ứng dụng rộng rãi trong nhiều lĩnh vực, từ y sinh đến công nghệ xử lý ảnh

Trong bài báo cáo này, chúng tôi xin được phép giới thiệu về “Nén ảnh bằng

phương pháp Haar”

Chương I Cơ sở lý thuyết

I Phép biến đổi Haar:

1 Giới thiệu chung:

Biến đổi Haar là một phương pháp toán học được sử dụng rộng rãi cho các ứng dụng xử lý tín hiệu và hình ảnh trong kỹ thuật điện và máy tính vì nó cung cấp một cách tiếp cận đơn giản và hiệu quả về mặt tính toán để phân tích các khía cạnh địa phương của tín hiệu Phép biến đổi Haar được đề xuất năm 1909 bởi nhà toán học người Hungary, Alfréd Haar Đây được xem là phép biến đổi lâu đời nhất

Phép biến đổi Haar dựa trên khái niệm wavelet, cụ thể là wavelet Haar Trong toán học, Haar wavelet là một chuỗi các hàm “hình vuông” được điều chỉnh tỷ lệ, cùng nhau tạo thành một họ hoặc cơ sở wavelet Dựa vào giá trị và trung bình khác nhau trong ma trận hình ảnh mà Haar có thể tạo ra những ma trận thưa hoặc gần thưa Bằng việc làm nhỏ đi kích cỡ của ma trận thưa, chúng ta có thể lưu trữ một cách hiệu quả Có hai loại nén dữ liệu, đó là nén mất dữ liệu và nén không mất dữ liệu, hàm biến đổi nén Haar là một cách để thể hiện cả hai phương pháp đó

Trang 6

2 Ứng dụng:

Trong những năm gần đây đã có sự gia tăng đáng kể trong việc sử dụng máy tính cho nhiều công việc khác nhau Với sự ra đời của máy ảnh kỹ thuật số, một trong những ứng dụng phổ biến nhất là lưu trữ, thao tác và truyền hình ảnh kỹ thuật số Tuy nhiên, các tệp chứa những hình ảnh này có thể khá lớn và có thể nhanh chóng chiếm dung lượng bộ nhớ quý giá trên ổ cứng máy tính Một hình ảnh thang màu xám có kích thước 256 x 256 pixel có 65.536 phần tử để lưu trữ và một hình ảnh màu 640 x 480 thông thường có gần một triệu phần tử! Kích thước của những tệp này cũng có thể khiến quá trình tải xuống từ internet trở nên kéo dài Biến đổi wavelet Haar cung cấp một phương tiện để chúng ta có thể nén hình ảnh sao cho

nó chiếm ít không gian lưu trữ hơn và do đó truyền tải điện tử nhanh hơn và ở mức

độ chi tiết tăng dần

II Nén ảnh bằng phép biến đổi Haar:

1 Thuật toán:

2 Nén mất dữ liệu:

3 Nén không mất dữ liệu:

4 Quá trình nén ảnh:

Chương II Lập trình Matlab

I Giới thiệu chung:

Matlab (tên viết tắt của Matrix laboratory) là phần mềm cung cấp môi trường tính toán số và lập trình, do công ty MathWorks thiết kế Matlab cho phép tính toán số

Trang 7

với ma trận, vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người dùng và liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập trình khác

MATLAB được sử dụng bởi các kỹ sư và nhà khoa học trong nhiều lĩnh vực như

xử lý hình ảnh và tín hiệu, truyền thông, hệ thống điều khiển cho ngành công nghiệp, thiết kế lưới điện thông minh, người máy cũng như tài chính

Trong bài báo cáo này, chúng em đã tìm hiểu về ứng dụng của Matlab trong Đại số tuyến tính để viết phương trình nén ảnh bằng phép biến đổi Haar

II Các lệnh được dùng:

Lệnh Tác dụng

clc; clear Xóa các biến

input = 'inputHaar.jpg'; Đầu vào địa chỉ hình ảnh

output = 'outputHaar.jpg'; Đầu ra hình ảnh

if(exist(input)==2) Nếu tồn tại địa chỉ hình ảnh tại đầu vào imread(input); Đọc file ảnh thành một ma trận

imreasize(a,[NUMROWS NUMCOLS]); Thay đổi kích thước của ảnh

subplot(2,1,n); Chia figure window thành 2 phần theo

chiều ngang, ảnh hiển thị ở phần thứ n imshow(a); Hiển thị hình ảnh được định dạng

length(a); Kích thước mảng lớn nhất

zeros(n,n); Tạo ma trận 0 có kích thước lớn nhất Title(‘text’) Tiêu đề cho ảnh

Imwrite(input,output); Lưu ghi địa chỉ hình ảnh

Norm( ) Độ dài vector hoặc hàng/cột cảu ma trận im(:,:,n) = Q*double(a(:,:,n)): Chuyển đổi hình ảnh n thành độ chính

xác gấp Q

III Đoạn code:

clc, clear

image_dir = 'D:\ \image.jpg'

Trang 8

c = 1;

img = imread(image_dir);

img = rgb2gray(img);

img = double(img);

sz = size(img);

n = ceil(log2(max(sz)));

N = 2^n;

X = imresize(img, [N N]);

Y = haar_tran(X, c, 0);

Nc = N/2^c;

R = 1:Nc;

F = zeros(N, N);

F(R, R) = 1;

Yc = Y.*F;

Xc = haar_tran(Yc, c, 1);

subplot(221)

Trang 9

title('Anh goc');

subplot(222)

imagesc(Y)

title('Bien doi Haar goc');

subplot(223)

imagesc(Xc)

title('Anh nen');

subplot(224)

imagesc(Yc)

title('Bien doi Haar nen');

function Y = haar_tran(X, c, ih)

N = size(X, 1);

K = N/2;

A = haar_mod(K, 1);

D = haar_mod(K, -1);

H = [A D];

if ih == 0

Trang 10

Y = H^c'*X*H^c;

elseif ih == 1

Y = H^c*X*H^c';

end

end

function M = haar_mod(N, q)

M = zeros(2*N, N);

for i = 1:N

x = 2*i -1;

M(x, i) = 1;

M(x+1, i) = q;

end

M = M /sqrt(2);

End

Upload ảnh lên matlab trước khi chạy và chỉ chạy với ảnh được up lên matlab

Ví dụ:

clc, clear

image_dir = 'D:\ \image.jpg'

c = 1;

img = imread(image_dir);

Trang 11

img = rgb2gray(img);

img = double(img);

sz = size(img);

n = ceil(log2(max(sz)));

N = 2^n;

X = imresize(img, [N N]);

Y = haar_tran(X, c, 0);

Nc = N/2^c;

R = 1:Nc;

F = zeros(N, N);

F(R, R) = 1;

Yc = Y.*F;

Xc = haar_tran(Yc, c, 1);

subplot(221)

imagesc(X)

title('Anh goc');

Trang 12

imagesc(Y)

title('Bien doi Haar goc');

subplot(223)

imagesc(Xc)

title('Anh nen');

subplot(224)

imagesc(Yc)

title('Bien doi Haar nen');

function Y = haar_tran(X, c, ih)

N = size(X, 1);

K = N/2;

A = haar_mod(K, 1);

D = haar_mod(K, -1);

H = [A D];

if ih == 0

Y = H^c'*X*H^c;

elseif ih == 1

Y = H^c*X*H^c';

Trang 13

end

function M = haar_mod(N, q)

M = zeros(2*N, N);

for i = 1:N

x = 2*i -1;

M(x, i) = 1;

M(x+1, i) = q;

end

M = M /sqrt(2);

end

Chương III Tổng kết

I Nhận xét chung:

 Ưu điểm:

- Ưu điểm chính của Wavelet Haar nằm ở tính đơn giản và hiệu quả tính toán của chúng

- Chúng không có tham số, nghĩa là chúng không dựa vào các giả định cơ bản về dữ liệu, khiến chúng cực kỳ linh hoạt

 Nhược điểm:

- Vấn đề chính là hạn chế của chúng đối với việc phân chia dữ liệu nhị phân Ràng buộc này thường hạn chế tính chính xác của Haar trong việc thu thập dữ liệu tần số cao hơn

Trang 14

- Wavelet Haar không liên tục và do đó không khả vi Tuy nhiên, đặc tính này có thể là một lợi thế cho việc phân tích các tín hiệu có sự chuyển đổi đột ngột (tín hiệu rời rạc)

 Nhận xét dung lượng nén:

- Trong trường hợp dữ liệu hình ảnh, chúng ta có thể loại bỏ một tỷ lệ khá lớn hệ số chi tiết và thu được kết quả có thể chấp nhận bằng mắt, đây có thể là kiểu nén không mất dữ liệu

- Trong một số ví dụ về nén hình ảnh, sử dụng phép biến đổi Haar (còn được gọi là chuẩn hoá) với tỉ lệ 10:1 hoặc 2:1 được xem là rất gần với nguyên bản => Với một tỉ lệ nén nhất định, việc chuẩn hoá dẫn đến các giá trị gần đúng tốt hơn

II Kết luận:

 Thông qua đề tài này nhóm chúng tôi đã rút ra được những kết luận hữu ích:

- Nhóm đã nắm được một số khái niệm cơ bản về phép biến đổi Haar và các ứng dụng của Haar liên quan đến công nghệ xử lý ảnh, y sinh , …

- Được giới thiệu và học cách sử dụng công cụ Matlab

- Tìm hiểu thêm về phương pháp nén dữ liệu và quá trình sử dụng phép biến đổi Haar để nén dữ liệu bằng công cụ Matlab

- Biết được cách trình bày cấu trúc đầy đủ của một bài báo cáo, bài tiểu

luận

- Rèn luyện được kỹ năng làm việc nhóm và tinh thần trách nhiệm

III Tài liệu tham khảo:

online.redwoods.cc.ca.us/instruct/darnold/laproj/Fall2002/ames/paper.pdf

Trang 15

Lời cảm ơn

Nhóm 14 kính gửi lời cảm ơn chân thành và sâu sắc nhất đến cô Nguyễn Xuân

Mỹ, người đã giảng dạy trực tiếp bộ môn này và cung cấp cho chúng em những tư liệu tham khảo quý báu từ đó góp phần cho chúng em có thể định hình và hoàn chỉnh cho bài báo cáo này

Bên cạnh đó, xuyên suốt thời gian làm bài báo cáo này, nhóm cũng đã nhận được rất nhiều sự động viên và cổ vũ, hướng dẫn và chỉ bảo nhiệt tình của thầy cô, các anh chị đi trước cùng lớp Qua đó chúng em đã học được kỹ năng làm việc nhóm

và tự tin hơn trong học tập lẫn làm việc

Mặc dù nhóm đã cố gắng song vẫn có một vài sai sót, thiếu kinh nghiệm khiến bài báo cáo này không tránh được những sai sót trong cách viết, cách hiểu và lỗi trình bày Vì vậy, nhóm em rất mong nhận được sự góp ý và đánh giá chân thành của quý thầy cô và các bạn

Ngày đăng: 05/12/2023, 05:34

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