Trng i hc Cng ngh thng tin v

  • Slides: 16
Download presentation
Trường đại học Công nghệ thông tin và Truyền thông Bài thảo luận: Matlab

Trường đại học Công nghệ thông tin và Truyền thông Bài thảo luận: Matlab và Ứng dụng 11/02/2022 1

Nén ảnh bằng giải thuật phân tích giá trị riêng (SVD) 11/02/2022 2

Nén ảnh bằng giải thuật phân tích giá trị riêng (SVD) 11/02/2022 2

Nhóm 9: ØGVBM: Vũ Thúy Hằng v. Vũ Đình Cường v. Hoàng Quang Vinh

Nhóm 9: ØGVBM: Vũ Thúy Hằng v. Vũ Đình Cường v. Hoàng Quang Vinh v. Nguyễn Bùi Bảo v. Nguyễn Công Trình vĐinh Lương Bình 11/02/2022 3

Nội Dung Ø Nén ảnh số Ø Các phương pháp nén ảnh số Ø

Nội Dung Ø Nén ảnh số Ø Các phương pháp nén ảnh số Ø Giải thuật phân tích giá trị riêng Ø Ứng dụng SVD nén ảnh số 11/02/2022 4

Mở đầu v Nén ảnh số v Mục đích nén ảnh số 11/02/2022 5

Mở đầu v Nén ảnh số v Mục đích nén ảnh số 11/02/2022 5

Nén ảnh số Nhóm không tổn hao: Mã huffman, mã số học, mã Golomb,

Nén ảnh số Nhóm không tổn hao: Mã huffman, mã số học, mã Golomb, … >>Tỉ lệ nén rất thấp. Nhóm tổn hao: BTC, DCT, SVD, … >>Đánh đổi giữa dung lượng và chất lượng. 11/02/2022 6

Phương pháp SVD Phương pháp phân tích giá trị riêng (SVD-Sigular Value Decomposition) là

Phương pháp SVD Phương pháp phân tích giá trị riêng (SVD-Sigular Value Decomposition) là một đề tài rất được quan tâm của đại số tuyến tính. Phương pháp này có nhiều ứng dụng thực tế, một trong số đó là ứng dụng trong kỹ thuật nén ảnh. Đặc điểm quan trọng của phương pháp này là nó có thể áp dụng cho bất kỳ ma trận thực m x n nào. 11/02/2022 7

Nội dung phương pháp SVD Phân tích một ma trận A cho trước thành

Nội dung phương pháp SVD Phân tích một ma trận A cho trước thành 3 ma trận U, S, V, sao cho: A = USV T (4. 1) Trong đó: �U là ma trận gồm các vector riêng trái của A �V là ma trận gồm các vector riêng phải của A �S là ma trận đường chéo với giá trị đường chéo: s 1 ³ s 2 ³. . . ³ s r > s r +1 =. . . = s p = 0 với r là hạng của ma trận A và p = min{m, n}. 11/02/2022 8

Để tìm các ma trận S, U, V, ta thực hiện các bước như

Để tìm các ma trận S, U, V, ta thực hiện các bước như sau: Bước 1: tìm ma trận V. Nhân AT vào hai vế của (4. 1), ta có: AT. A = (USVT )T USVT = V. ST. U. S. V T = V. ST. S. V T = V. S 2. V T Bước 2: Tìm ma trận U. Nhân hai về của (4. 1) với AT và sử dụng VTV = I, ta cũng có : A. AT = US 2 U T 11/02/2022 9

Cuối cùng, ta phân tích ma trận A dưới dạng như sau : s

Cuối cùng, ta phân tích ma trận A dưới dạng như sau : s 1 V 1 T : . . A = (u 1 …. Ur …. Um) sr Vr T. . : . 0 . vn. T A và S là các ma trận kích thước m*n , U là ma trận m*n và V là ma trận n*m. 11/02/2022 10

Ứng dụng SVD nén ảnh số Hàm svd() , svdcompr() : >> [U, S,

Ứng dụng SVD nén ảnh số Hàm svd() , svdcompr() : >> [U, S, V] = svd(A) >> im = svdcompr (infile, singvals, outfile) Trong đó: - infile và outfile là tên các file ảnh gốc và ảnh nén, singvals là số các trị riêng lớn nhất được giữ lại. 11/02/2022 11

Ví dụ 1 in = imread(‘ 2. bmp’) out=svdcompr(‘ 2. bmp’, 30, ’svd. bmp’);

Ví dụ 1 in = imread(‘ 2. bmp’) out=svdcompr(‘ 2. bmp’, 30, ’svd. bmp’); imshow(in), figure, imshow(out). 11/02/2022 12

11/02/2022 13

11/02/2022 13

Ví dụ 2 close all [A, map]=imread(‘lena. gif’); B=im 2 double(A, ’indexed’); imshow(B, map)

Ví dụ 2 close all [A, map]=imread(‘lena. gif’); B=im 2 double(A, ’indexed’); imshow(B, map) [u, s, v]=svd(B); C=zeros(size(B)); for j=1: k C=C+s(j, j)*u(: , j)*v(: , j). ’; end C=floor(C); imshow(C, map) k=find(C<1); C(k)=1; set(gcf, ’Unit’, ’inches’, ’Paper position’, [0, 0, 2, 1]) print djpeg ’lenak. jpg’ 11/02/2022 14

11/02/2022 15

11/02/2022 15

CẢM ƠN CÔ VÀ CÁC BẠN ĐÃ LẮNG NGHE 11/02/2022 16

CẢM ƠN CÔ VÀ CÁC BẠN ĐÃ LẮNG NGHE 11/02/2022 16