Một số chương trình mô phỏng a Với ảnh mẫu sẵn có trong matlab

Một phần của tài liệu phân tích phương pháp biến đổi cosin rời rạc để nén ảnh trong truyền hình kỹ thuật số (Trang 48 - 52)

TRONG QUÁ TRÌNH NÉN ẢNH SỐ 3.1 Mô tả quá trình mô phỏng

3.2.2Một số chương trình mô phỏng a Với ảnh mẫu sẵn có trong matlab

a. Với ảnh mẫu sẵn có trong matlab a1. Biến đổi DCT2-D thuận

>> RGB = imread('autumn.tif'); % autumn.tif là ảnh mùa thu sẵn có trong matlab. >> whos RGB

>> imshow(RGB);

>> title('Anh goc ban dau (Anh Mau)');

 Kết quả:

Ảnh autumn.tif được đọc ra dưới dạng ma trận RGB với kích thước 206x345x3 , 213210 bytes , loại mảng 8 unit. Và ảnh được hiển thị trên hình 3.1:

Anh goc ban dau (Anh Mau)

Hình 3.1 Ảnh gốc ban đầu ( Ảnh mầu)

>> I = rgb2gray(RGB); % chuyển đổi ảnh RGB thành ảnh đen trắng I.

>> whos I

>> J = dct2(I); % Tính DCT2-D của ảnh đen trắng I >> figure;

>> imshow(log(abs(J)),[]);

>> title('Mang mau cua ma tran he so DCT');

>> colormap(jet); % Mảng màu của ma trận hệ số DCT.

>> colorbar; % Thanh biểu thị màu của hệ số DCT.

Mang mau cua ma tran he so DCT

-50 0 5 10 Hình 3.2 Mảng màu của hệ số DCT

 Mảng màu của hệ số DCT thể hiện sự phân bố năng lượng của các hệ số DCT. Năng lượng tập trung lớn nhất ở góc trên bên trái mảng màu và nhạt dần về phía dưới phải.

>> figure; >> imshow(I);

>> title('Anh goc ban dau (Trang den)');

Anh goc ban dau (Trang den)

Hình 3.3 Ảnh gốc ban đầu (ảnh đen trắng)

 Kết quả:

Ảnh màu RGB ban đầu được chuyển đổi thành ảnh đen trắng (hình 3.2), có kích thước 206x345 và 71070 bytes ,mảng 8 unit.

a2. Biến đổi DCT ngược: Nghịch đảo của phép biến đổi cosin rời rạc là phép biến đổi ngược IDCT

 Trường hợp 1: Nếu các hệ số DCT được giữ nguyên >> K = idct2(J);

>> figure;

>> imshow(K,[0 255]);

Anh khoi phuc giu nguyen he so DCT

Hình 3.4 Ảnh khôi phục khi giữ nguyên hệ số DCT

 Nhận xét: Khi các hệ số DCT được giữ nguyên thì ảnh khôi phục lại going y như ảnh ban đầu. (adsbygoogle = window.adsbygoogle || []).push({});

 Trường hợp 2: Loại bớt các hệ số DCT có trị tuyệt đối nhỏ hơn 10: >> J(abs(J)<10) = 0;

>> K = idct2(J); >> figure;

>> imshow(K,[0 255]);

>> title('Anh khoi phuc muc 10 ');

Anh khoi phuc muc 10

Hình 3.5 Ảnh khôi phục khi loại bớt đi các hệ số DCT có trị tuyệt đối nhỏ hơn 10

 Nhận xét: Khi loại bớt đi các hệ số có trị tuyệt đối nhỏ hơn 10 thì ta thấy ảnh khôi phục không được rõ như ảnh ban đầu. Xuất hiện một số phần tử chấm đen trên ảnh làm ảnh tối hơn.

 Trường hợp 3: Loại bớt các hệ số DCT có trị tuyệt đối nhỏ hơn 100: >> J(abs(J)<100) = 0;

>> K = idct2(J); >> figure;

>> imshow(K,[0 255]);

>> title('Anh khoi phuc muc 100 ');

Anh khoi phuc muc 100

Hình 3.6 Ảnh khôi phục khi loại bớt các hệ số DCT có trị tuyệt đối nhỏ hơn 100:

 Nhận xét: Khi loại bớt các hệ số DCT có trị tuyệt đối nhỏ hơn 100 thì ta thấy ảnh khôi phục mờ đi rất nhiều. Hình trong ảnh bị nhòe, không còn rõ nữa. Việc loại bỏ những hệ số DCT là do ta tùy chọn, nếu giữ nguyên các hệ số DCT thi ảnh khôi phục sẽ được giữ nguyên như ban đầu. Nếu loại bỏ càng nhiều hệ số DCT thì ảnh khôi phục càng mờ, hình trong ảnh nhòe dần.

Một phần của tài liệu phân tích phương pháp biến đổi cosin rời rạc để nén ảnh trong truyền hình kỹ thuật số (Trang 48 - 52)