ỨNG DỤNG MATLAB TRONG xử lý ẢNH số

27 1.5K 10
ỨNG DỤNG MATLAB TRONG xử lý ẢNH số

Đ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

có sơ đồ nguyên lý, sơ đồ khối, sơ đồ thuật toán và hướng dẫn chi tiết về ỨNG DỤNG MATLAB TRONG xử lý ẢNH số dùng MATLAB .................................................................................................................................................................................

CHƯƠNG 1: GIỚI THIỆU MATLAB 1.1 Tổng quan Matlab 1.1.a Khái niệm Matlab Matlab ngôn ngữ lập trình thực hành bậc cao sử dụng để giải toán kỹ thuật Matlab tích hợp việc tính toán, thể kết quả, cho phép lập trình, giao diện làm việc dễ dàng cho người sử dụng Dữ liệu với thư viện lập trình sẵn cho phép người sử dụngứng dụng sau • Sử dụng hàm có sẵn thư viện, phép tính toán học thông thường • Cho phép lập trình tạo ứng dụng • Cho phép mô mô hình thực tế • Phân tích, khảo sát hiển thị liệu • Với phần mềm đồ hoạ cực mạnh • Cho phép phát triển, giao tiếp với số phần mềm khác C++, Fortran 1.1.b Tổng quan cấu trúc hoạt động Matlab ứng dụng liên quan Matlab hệ thống tương giao, phần tử liệu mảng (mảng không đòi hỏi kích thước) Chúng cho phép giải vấn đề liên quan đến lập trình máy tính, đặc biệt sử dụng phép tính ma trận hay vector sử dụng ngôn ngữ C Fortran lập trình thực ứng dụng lập trình câu lệnh gọi từ Matlab Matlab viết tắt từ chữ “MATrix LABoratory” tức thư viện ma trận, từ phần mềm Matlab viết nhằm cung cấp cho việc truy cập vào phần mềm ma trận cách dễ dàng, phần mềm ma trận phát triển công trình Linpack Eispack Ngày Matlab phát triển Lapack Artpack tạo nên nghệ thuật phần mềm cho ma trận + Dữ liệu Dữ liệu Matlab thể dạng ma trận (hoặc mảng–tổng quát), có kiểu liệu liệt kê sau đây: ĐỒ ÁN Trang 2/27 • Kiểu đơn single, kiểu có lợi nhớ liệu đòi hỏi byte nhớ hơn, kiểu liệu không sử dụng phép tính toán học, độ xác • Kiểu double kiểu kiểu thông dụng biến Matlab • Kiểu Sparse • Kiểu uint8, uint16 • Kiểu char ví dụ ‘Hello’ • Kiểu cell • Kiểu Structure Trong Matlab kiểu liệu double kiểu mặc định sử dụng phép tính số học + Ứng dụng Matlab tạo điều kiện thuận lợi cho: • Các khoá học toán học • Các kỹ sư, nhà nghiên cứu khoa học • Dùng Matlab để tính toán, nghiên cứu tạo sản phẩm tốt sản xuất + Toolbox công cụ quan trọng Matlab Công cụ Matlab cung cấp cho phép bạn ứng dụng kỹ thuật để phân tích, thiết kế, mô mô hình Ta tìm thấy toolbox mô trường làm việc • Mạng nơron • Logic mờ • Simulink 1.1.c Hệ thống Matlab Hệ thống giao diện Matlab chia thành phần: • Môi trường phát triển Đây nơi đặt công cụ, phương tiện giúp sử dụng lệnh file, ta liệt kê số sau + Desktop ĐỒ ÁN Trang 3/27 + Command Window + Command History + Browsers for viewinghelp • Thư viện, hàm toán học bao gồm cấu trúc tính tổng, sin cosin, atan, atan2 etc , phép tính đơn giản đến phép tính phức tạp tính ma trận nghịch đảo, trị riêng, chuyển đổi fourier, laplace, symbolic library • Ngôn ngữ Matlab Đó ngôn ngữ cao ma trận mảng, với dòng lệnh, hàm, cấu trúc liệu vào, lập trình hướng đối tượng • Đồ họa Matlab Bao gồm câu lệnh thể đồ hạo môi trường 2D 3D, tạo hình ảnh chuyển động, cung cấp giao diện tương tác người sử dụng máy tính • Giao tiếp với ngôn ngữ khác Matlab cho phép tương tác với ngôn ngữ khác C, Fortran … 1.1.d Làm quen với matlab Hình 1.1.d Cửa sổ desktop (cửa sổ lớn nhất), cửa sổ phụ Trước tiên để khởi động Matlab bạn click vào biểu tượng Matlab.exe, hình xuất cửa sổ sau (Xem hình vẽ 1.1) Cửa sổ chứa công cụ (Giao diện người máy) cần thiết cho việc quản files, biến, cửa sổ lệnh, coi desktop panel gồm ô, vùng, quản tác dụng cửa sổ nhỏ quản desktop ĐỒ ÁN Trang 4/27 1.1.e Các cửa sổ Làm việc Matlab + Cửa sổ Command window Là cửa sổ giao tiếp Matlab nơi nhập giá trị biến, hiển thị giá trị, tính toán giá trị biểu thức, thực thi hàm có sẵn thư viện (dạng lệnh), hàm (dạng function) người dùng lập trình M_files Các lệnh nhập sau dấu nhắc ‘ >> ‘, có sai sót trình gõ (nhập) lệnh nhấn phím Enter nhận dấu nhắc >> Thực thi lệnh nhấn phím Enter Gõ lệnh sau: >> A= pi/2 ; >> B= sin(A) B=1 Hình 1.1.e1 Hình cửa sổ Comman window Hoặc chương trình soạn thảo M-file đây: % Chuong trinh M-file x= 0:pi/6:2*pi; y=sin(x); plot(x, y); % chuong trinh lưu với tên file “ve_sin.m” + Cửa sổ command History Các dòng mà bạn nhập vào cửa sổ Command window (các dòng dòng nhập biến, dòng lệnh thực hàm đó) giữ lại ĐỒ ÁN Trang 5/27 cửa sổ Command History, cửa sổ cho phép ta sử dụng lại lệnh cách click chuột lên lệnh biến, bạn muốn sử dụng lại biến click đôi chuột lên lênh biến để sử dụng lại Hình 1.1.e2 Hình cửa sổ Command History + Cửa sổ Workspace Là cửa sổ thể tên biến bạn sử dụng với kích thước vùng nhớ (số bytes), kiểu liệu (lớp), biến giải phóng sau lần tắt chương trình Click đôi chuột lên biến để xem liệu(hoặc thay đổi giá trị) Hình 1.1.e3 Hình cửa sổ Workspace + Cửa sổ M-file Là cửa sổ dùng để soạn thảo chương trình ứng dụng, để thực thi chương trình viết M-file cách gõ tên file chứa chương trình cửa sổ Commandwindow ĐỒ ÁN Trang 6/27 Khi chương trình viết M-file, tuỳ theo ứng dụng cụ thể, tuỳ theo người lập trình mà chương trình viết dạng sau: • Dạng Script file: Tức chương trình gồm tập hợp câu lệnh viết dạng liệt kê, biến liệu vào biến lấy giá trị • Dạng hàm function: có biến liệu vào biến 1.2 Các hàm chuyển đổi kiểu ảnh Với thao tác định, thật hữu ích chuyển đổi ảnh từ dạng sang dạng khác Chẳng hạn, ta muốn lọc ảnh màu lưu trữ dạng ảnh số, ta nên chuyển đổi thành dạng ảnh RGB Khi ta áp dụng phép lọc tới ảnh RGB, Matlab lọc giá trị cường độ tương ứng ảnh Nếu ta lọc ảnh số Matlab đơn giản áp đặt phép lọc tới ma trận ảnh số kết ý nghĩa Chú ý: Khi chuyển đổi ảnh từ dạng sang dạng khác, ảnh kết khác ảnh ban đầu Chẳng hạn, ta chuyển đổi ảnh màu số sang ảnh cường độ, kết ta thu ảnh đen trắng Danh sách sau liệt kê hàm sử dụng việc chuyển đổi ảnh: + dither: Tạo ảnh nhị phân từ ảnh cường độ đen trắng cách trộn, tạo ảnh số từ ảnh RGB cách trộng (dither) + gray2id: Tạo ảnh số từ ảnh cường độ đen trắng + grayslice: Tạo ảnh số từ ảnh cường độ đen trắng cách đặt ngưỡng + im2bw: Tạo ảnh nhị phân từ ảnh cường độ, ảnh số hay ảnh RGB sở ngưỡng ánh sáng ĐỒ ÁN Trang 7/27 + ind2gray: Tạo ảnh cường độ đen trắng từ ảnh số + ind2rgb: Tạo ảnh RGB từ ảnh số + mat2gray: Tạo ảnh cường độ đen trắng từ liệu ma trận cách lấy tỉ lệ giữ liệu + rgb2gray: Tạo ảnh cường độ đen trắng từ ảnh RGB + rgb2ind: Tạo ảnh số từ ảnh RGB Ta thực phép chuyển đổi kiểu sử dụng cú pháp Matlab Chẳng hạn , ta convert ảnh cường độ sang ảnh RGB cách ghép nối phần copy ma trận ảnh gốc chiều: RGB=cat(3,I,I,I ); Ảnh RGB thu có ma trận đồng cho mặt phẳng R,G,B ảnh hiển thị giống bóng xám 1.3 Giao diện đồ hoạ GUI 1.3.a Khái niệm Để tiện cho việc sử dụng ứng dụng hay chương trình mà ta viết tạo giao diện đồ họa GUI (Graphic User Interface) ngưới dùng matlab Trong giao diện ta xuất liệu hai dạng văn đồ họa Mỗi GUI có hay nhiều giao diện Việc tạo GUI tạo nên công cụ nhập xuất liệu cách trực quan, nhanh chóng thuận tiện Ngoài dùng GUI để giám sát trình, hiển thị đối tượng… 1.3.b Cách tạo GUI Có cách để tạo GUI: +Tạo GUI cách gõ lệnh trực tiếp +Tạo GUI cách dùng công cụ có sẵn Matlab 1.3.c Tạo GUI cách gõ lệnh trực tiếp Ta gõ lệnh sau: ĐỒ ÁN Trang 8/27 Hình 1.3.c1: Hình ảnh lệnh tạo GUI Ta thu khung GUI sau: Hình 1.3.c2: Hình ảnh thu sau dùng lệnh tạo GUI 1.3.d Tạo GUI cách sử dụng công cụ có sẵn Matlab Ta gõ guide cửa sổ Matlab, sau cửa sổ xuất tab ĐỒ ÁN Trang 9/27 Hình 1.3.d: Cửa sổ thiết kế GUI Sau ta tiến hành thiết kế GUI theo ý muốn ĐỒ ÁN Trang 10/27 CHƯƠNG 2: NÉN ẢNH SỐ,KHÔI PHỤC ẢNH SỐ VÀ NHẬN DẠNG CẠNH GÓC ẢNH SỐ 2.1 NÉN ẢNH SỐ 2.1.1 Các khái niệm ảnh + Điểm ảnh (Picture Element) Gốc ảnh (ảnh tự nhiên) ảnh liên tục không gian độ sáng Để xử máy tính (số), ảnh cần phải số hoá Số hoá ảnh biến đổi gần ảnh liên tục thành tập điểm phù hợp với ảnh thật vị trí (không gian) độ sáng (mức xám) Khoảng cách điểm ảnh thiết lập cho mắt người không phân biệt ranh giới chúng Mỗi điểm gọi điểm ảnh (PEL: Picture Element) hay gọi tắt Pixel Trong khuôn khổ ảnh hai chiều, pixel ứng với cặp tọa độ (x, y) pixel Hình 2.1 Hình minh họa pixel Định nghĩa: Điểm ảnh (Pixel) phần tử ảnh số toạ độ (x, y) với độ xám màu định Kích thước khoảng cách điểm ảnh chọn thích hợp cho mắt người cảm nhận liên tục không gian mức xám (hoặc màu) ảnh số gần ảnh thật Mỗi phần tử ma trận gọi phần tử ảnh + Mức xám ảnh Một điểm ảnh (pixel) có hai đặc trưng vị trí (x, y) điểm ảnh độ xám Dưới xem xét số khái niệm thuật ngữ thường dùng xử ảnh ĐỒ ÁN Trang 13/27 Một ảnh số giả sử biểu diễn hàm f(x, y) Tập điểm ảnh S; cặp điểm ảnh có quan hệ với ký hiệu p, q Một số khái niệm nén ảnh số +Nén liệu (Data Compression) Nén liệu trình làm giảm lượng thông tin "dư thừa" liệu gốc vậy, lượng thông tin thu sau nén thường nhỏ liệu gốc nhiều Với liệu ảnh, kết thường 10 : Một số phương pháp cho kết cao Theo kết nghiên cứu công bố gần viện kỹ thuật Georgie, kỹ thuật nén fractal cho tỉ số nén 30 Ngoài thuật ngữ "nén liệu”, chất kỹ thuật có số tên gọi khác như: giảm độ dư thừa, mã hoá ảnh gốc Từ hai thập kỷ nay, có nhiều kỹ thuật nén công bố tài liệu nén phần mềm nén liệu xuất ngày nhiều thương trường Tuy nhiên, chưa có phương pháp nén coi phương pháp vạn (Universel) phụ thuộc vào nhiều yếu tố chất liệu gốc Trong chương này, hy vọng xem xét tất phương pháp nén Hơn nữa, kỹ thuật nén liệu chung trình bày nhiều tài liệu chuyên ngành Ở đây, đề cập phương pháp nén có đặc thù riêng cho liệu ảnh +Tỷ lệ nén (Compression rate) Tỷ lệ nén đặc trưng quan trọng phương pháp nén Tuy nhiên, cách đánh giá kết công bố tài liệu cần quan tâm xem xét Nhìn chung, người ta định nghĩa tỷ lệ nén sau: Tỷ lệ nén = x% Với r: tỷ số nén định nghĩa: r = kích thước liệu gốc/ kích thước liệu thu sau nén Như hiệu suất nén là: (1-tỷ lệ nén) x % Khi nói đến kết nén, dùng tỷ số nén, thí dụ 10 có nghĩa liệu gốc 10 phần sau nén có phần Tuy nhiên, phải thấy số đo phương pháp nén có giá trị với nén đó, hiệu nén phụ thuộc vào kiểu liệu định nén Tỷ lệ nén đặc trưng phương pháp nén Nhiều tỷ lệ nén cao chưa thể nói phương pháp hiệu ĐỒ ÁN Trang 14/27 phương pháp khác, chi phí khác thời gian, không gian chí độ phức tạp tính toán Thí dụ nén phục vụ truyền liệu: vấn đề đặt hiệu nén có tương hợp với đường truyền không Cũng cần phân biệt nén liệu với nén băng truyền Mục đích nén giảm lượng thông tin dư thừa dẫn tới giảm kích thước liệu Tuy vậy, trình nén làm giảm băng truyền tín hiệu số hoá thấp so với truyền tín hiệu tương tự + Các loại dư thừa liệu Như nói, nén nhằm mục đích giảm kích thước liệu cách loại bỏ dư thừa liệu Việc xác định chất kiểu dư thừa liệu có ích cho việc xây dựng phương pháp nén liệu khác Nói cách khác, phương pháp nén liệu khác sử dụng kiểu dư thừa liệu khác Nên có kiểu dư thừa chính: a Sự phân bố ký tự Trong dãy ký tự, có số ký tự có tần suất xuất nhiều số dãy khác Do vậy, ta mã hoá liệu cách cô đọng Các dãy ký tự có tần suất cao thay từ mã nhị phân với số bít nhỏ; ngược lại dãy có tần suất thấp mã hoá từ mã có nhiều bít Đây chất phương pháp mã hoá Huffman b Sự lặp lại ký tự Trong số tình ảnh, ký hiệu (bit "0" hay bit "1") lặp lặp lại nhiều lần Kỹ thuật nén dùng trường hợp thay dãy lặp dãy gồm thành phần: số lần lặp kí hiệu dùng để mã Phương pháp mã hoá kiểu có tên mã hoá loạt dài RLC (Run Length Coding) c Những mẫu sử dụng tần suất Có thể có dãy ký hiệu xuất với tần suất tương đối cao Do vậy, mã hoá bit Đây sở phương pháp mã hoá kiểu từ điển Lempel-Ziv đưa có cải tiến vào năm 1977, 1978 có tên gọi phương pháp nén LZ77, LZ78 Năm 1984, Terry Welch cải tiến hiệu đặt tên LZW (Lempel-Ziv- Welch) d Độ dư thừa vị trí ĐỒ ÁN Trang 15/27 Do phụ thuộc lẫn liệu, biết ký hiệu (giá trị) xuất vị trí, đồng thời đoán trước xuất giá trị vị trí khác cách phù hợp Chẳng hạn, ảnh biểu diễn lưới hai chiều, số điểm hàng dọc khối lệu lại xuất vị trí hàng khác Do vậy, thay lưu trữ liệu, ta cần lưu trữ vị trí hàng cột Phương pháp nén dựa dư thừa gọi phương pháp mã hoá dự đoán Cách đánh giá độ dư thừa hoàn toàn mang tính trực quan nhằm biểu thị xuất nhiều lần Đối với liệu ảnh, đặc thù chung đó, có đặc thù riêng Thí dụ có ứng dụng không cần toàn liệu thô ảnh mà cần thông tin đặc trưng biểu diễn ảnh biên ảnh hay vùng đồng Do vậy, có phương pháp nén riêng cho ảnh dựa vào biến đổi ảnh hay dựa vào biểu diễn ảnh + Phân loại phương pháp nén Có nhiều cách phân loại phương pháp nén khác • Cách phân loại thứ nhất: dựa vào nguyên nén Cách phân phương pháp nén thành họ lớn: • Nén xác hay nén không thông tin: Họ bao gồm phương pháp nén mà sau giải nén ta thu xác liệu gốc • Nén có mát thông tin: Họ bao gồm phương pháp mà sau giải nén ta không thu liệu gốc Trong nén ảnh, người ta gọi phương pháp" tâm thị giác" Các phương pháp lợi dụng tính chất mắt người, chấp nhận số vặn xoắn ảnh khôi phục lại Tất nhiên, phương pháp có hiệu mà độ vặn xoắn chấp nhận mắt thường hay với dung sai • Cách phân loại thứ hai: dựa vào cách thức thực nén Theo cách này, người ta phân thành hai họ: • Phương pháp không gian (Spatial Data Compression): Các phương pháp thuộc họ thực nén cách tác động trực tiếp lên việc lấy mẫu ảnh miền không gian • Phương pháp sử dụng biến đổi (Transform Coding): Gồm phương pháp tác động lên biến đổi ảnh gốc mà không tác động trực tiếp ĐỒ ÁN Trang 16/27 • Cách phân loại thứ ba: dựa vào triết mã hoá Cách phân phương pháp nén thành họ: • Các phương pháp nén hệ thứ nhất: Gồm phương pháp mà mức độ tính toán đơn giản, thí dụ việc lấy mẫu, gán từ mã, • Các phương pháp nén hệ thứ hai: Dựa vào mức độ bão hoà tỷ lệ nén Trong phần trình bày đây, ta theo cách phân loại Cũng phải kể thêm cách phân loại thứ tự Anil K Jain nêu Theo cách Jain, phương pháp nén gồm họ chính: • Phương pháp điểm • Phương pháp dự đoán • Phương pháp dựa vào biến đổi • Các phương pháp tổ hợp (Hybrid) Thực cách phân loại chia nhỏ cách phân loại thứ ba dựa vào chế thực nén Xét cách kỹ lưỡng tương đương cách phân loại thứ ba Nhìn chung, trình nén giải nén liệu mô tả cách tóm tắt theo đồ Quá trình nén Dữ liệu gốc Dữ liệu nén Quá trình giải nén Hình 2.4 đồ chức trình nén liệu + Biến đổi cosine rời rạc (DCT- Discrete cosine Transform) + Phương pháp biến đổi Biến đổi cosine rời rạc (DCT) biểu diễn ảnh dạng tổng cosine thành phần biên độ tần số khác ảnh Hàm dct2 tính DCT hai chiều ảnh DCT có tính chất mà với ảnh điển hình, hầu hết thông tin ảnh tập trung vài hệ số DCT, hệ số lại chứa thông tin Vì này, DCT thường sử dụng ứng dụng nén ảnh khác nhờ hiệu suất gần tối ưu ảnh có độ tương quan cao điểm ĐỒ ÁN Trang 17/27 ảnh lân cận Chẳng hạn, DCT trung tâm giải thuật nén ảnh theo chuẩn quốc tế thường biết với tên JPEG (tên nhóm phát triển đặt ra: Joint Photographic Experts Group) DCT hai chiều ma trận A có kích thước MxN định nghĩa sau : với Trong đó: Các giá trị Bpq gọi hệ số biến đổi DCT DCT biến đổi ngược biến đổi ngược cho công thức : với Trong đó: Biểu thức DCT ngược xem xét coi ma trận A kích thước MxN tổng MN hàm có dạng : Những hàm đựơc gọi hàm sở DCT Hệ số DCT B pq xem trọng số cho hàm sở Với ma trận 8x8, 64 hàm sở minh hoạ ảnh sau: ĐỒ ÁN Trang 18/27 Hình 2.5 Hình minh họa ma trận 8x8 + Nén tổn hao dựa vào DCT Giải thuật nén có tổn hao biết đến nhiều có lẽ giải thuật dùng DCT Đây giải thuật chuẩn hóa với tên gọi JPEG (lấy từ tên gọi tổ chức định tiêu chuẩn nén này: Joint Photographic Experts Groups (Nhóm lien kết chuyên gia xử ảnh) Chuẩn JPEG sử dụng để mã hoá ảnh đa mức xám, ảnh màu Nó không cho kết ổn định với ảnh đen trắng Chuẩn JPEG cung cấp giải thuật cho hai loại nén nén không mát thông tin nén mát thông tin đồ khối giải thuật nén giải nén ảnh JPEG: Phân khố 8x8 i ẢNH NÉN DCT Lượng tử hoáMã hoá ẢNH GỐC 8x8 Bảng lượng tử Bảng mã 8x8 Hình 2.6 đồ khối giải thuật nén ảnh JPEG Để nén ảnh theo giải thuật JPEG, ta chia ảnh thành khối 8x8 (hoặc 16x16) Mỗi khối 8x8 xử riêng biệt qua bước trình nén ảnh Đầu tiên, ta thực biến đổi DCT thuận khối Như biết, điểm ảnh kế cận thường có tính tương quan cao, phép biến đổi DCT thuận có xu hướng tập trung hầu hết lượng ảnh vào vài hệ số DCT tần số thấp Đây sở để ta thực nén ảnh Với khối ảnh kích thước 8x8 trích từ ảnh nguồn, hầu hết hệ số gần Như vậy, ta ĐỒ ÁN Trang 19/27 không cần biểu diễn hệ số truyền liệu ảnh Lưu ý thân biến đổi DCT không làm mát thong tin ảnh gốc, chuyển thông tin dạng khác mà ta mã hóa cách hiệu Sau qua biến đổi DCT, hệ số số 64 hệ số biến đổi DCT lượng tử hóa dựa vào bảng giá trị lượng tử thiết kế kỹ lưỡng Một phương pháp lượng tử đơn giản dùng giữ lại vài hệ số DCT tần số thấp (các hệ số có giá trị lớn) tất hệ số lại gán chuẩn nén JPEG, hệ số DCT chia cho trọng số vị trí tương ứng ma trận lượng tử 8x8, sau làm tròn số nguyên gần Sau lượng tử hóa, hệ số biến đổi DCT xếp theo chuỗi zig-zag thành phần DC, đến thành phần AC… Cuối hệ số chuyển thành chuỗi bit nhị phân kỹ thuật mã hóa đưa ảnh nén Ở công đoạn giải mã, giải mã thự trình ngược lại: Giải mã entropy, sau nhân hệ số thu với phần tử tương ứng ma trận lượng tử, biến đổi ngược DCT để tái tạo lại ảnh ban đầu a Phân khối Chuẩn nén JPEG phân ảnh khối 8x8 Công đoạn biến đổi nhanh Cosin hai chiều cho khối 8x8 tỏ hiệu Biến đổi Cosin cho khối có kích cỡ giảm phần tính toán chung việc tính hệ số C ji Khi n=8 cần tính hệ số Cji cho tầng (8= 23), số hệ số là: + + = Nếu với ảnh 1024x1024, phép biến đổi nhanh Cosin chiều theo hàng ngang hàng dọc ta phải qua 10 tầng (1024 = 210) Số hệ số Cji là: 512 + 256 + 128 + 64 + 32 + 16 + + + + = 1021 Thời gian tính hệ số C ji với toàn ảnh 1024x1024 lớn gấp 150 lần so với thời gian tính toán hệ số cho khối Biến đổi Cosin khối có kích thước nhỏ làm tăng độ xác tính toán với số dấu phẩy tĩnh, giảm thiểu sai số làm tròn sinh Do điểm ảnh kề cận có độ tương quan cao hơn, phép biến đổi Cosin cho khối nhỏ tập trung lượng vào số hệ số biến đổi Việc loại bớt số hệ số lượng thấp khối tạo mát thông tin cục giúp nâng cao chất lượng ảnh Ảnh chia làm B khối với: ĐỒ ÁN Trang 20/27  M '   N'  ×  = M B × NB  k   l  B= Các khối xác định số (m,n) với m = [0 M B-1] n=[0 NB-1], m thứ tự khối theo chiều rộng, n thứ tự khối theo chiều dài Phân khối thực chất xác định tương quan toạ độ riêng khối với toạ độ thực điểm ảnh ảnh ban đầu Nếu ảnh ban đầu ký hiệu Image[i,j] ma trận biểu diễn khối (m,n) x[u,v]được tính: x[u , v] = Im age[ mk + u , nl + v ] b Biến đổi Biến đổi công đoạn lớn phương pháp nén sử dụng phép biến đổi Nhiệm vụ công đoạn biến đổi tập trung lượng vào số hệ số biến đổi Công thức biến đổi cho khối là: Trong ε k1   =  khi k1 = (0 < k1 < 8)   ε k2 =   khi k2 = (0 < k < 8) Thuật toán biến đổi nhanh Cosin hai chiều cho khối trường hợp bao gồm 16 phép biến đổi nhanh Cosin chiều Đầu tiên, người ta biến đổi nhanh Cosin chiều cho dãy điểm ảnh hàng Lần lượt thực cho hàng Sau đem biến đổi nhanh Cosin chiều theo cột ma trận vừa thu sau phép biến đổi Cũng thực cho cột Ma trận cuối ma trận hệ số biến đổi khối tương ứng Trong đồ giải nén ta phải dùng phép biến đổi Cosin ngược Công thức biến đổi ngược cho khối 8x8: ĐỒ ÁN Trang 21/27 ε k1 Trong   =    ε k2 =   khi k1 = (0 < k1 < 8) khi k2 = (0 < k < 8) c Lượng tử hóa Khối lượng tử hoá đồ nén đóng vai trò quan trọng định tỉ lệ nén chuẩn nén JPEG Đầu vào khối lượng tử hoá ma trận hệ số biến đổi Cosin khối điểm ảnh Để giảm số lượng tử, người ta tìm cách quy hệ số khối khoảng phân bố Chuẩn nén JPEG sử dụng lượng tử hoá Giả sử hệ số có hàm tính xác suất xuất Chúng ta chỉnh lại hệ số y j phép gán: yj = Với yj −µj σj µj trung bình cộng hệ số thứ j σj độ lệch hệ số thứ j d Nén Đầu vào khối nén gồm hai thành phần: thành phần hệ số chiều thành phần hệ số xoay chiều Thành phần hệ số chiều Ci(0,0) với i = 0,1, , 63 chứa phần lớn lượng tín hiệu hình ảnh Người ta không nén trực tiếp giá trị C i(0,0) mà xác định độ lệch Ci(0,0): d i = C i +1 (0,0) − C i (0,0) di có giá trị nhỏ nhiều so với C i nên biểu diễn dấu phẩy động theo chuẩn IEEE754 thường chứa nhiều chuỗi bit nên cho hiệu suất nén cao Giá trị C0(0,0) độ lệch di ghi tệp tạm Tệp nén phương pháp nén Huffman ĐỒ ÁN Trang 22/27 Thành phần hệ số xoay chiều Ci(m,n) với ≤ m ≤ 7, ≤ n ≤ chứa thông tin chi tiết ảnh Để nâng cao hiệu nén cho hệ số khối người ta xếp lại chúng theo thứ tự ZigZag Có thể hình dung hình ZigZag bảng trang bên Tác dụng xếp lại theo thứ tự ZigZag tạo nhiều loạt hệ số giống Chúng ta biết lượng khối hệ số giảm dần từ góc bên trái xuống góc bên phải nên việc xếp lại hệ số theo thứ tự ZigZag tạo điều kiện cho hệ số xấp xỉ (cùng mức lượng tử) nằm dòng 10 20 21 35 11 19 22 34 36 12 18 23 33 37 48 13 17 24 32 38 47 49 14 16 25 31 39 46 50 57 15 26 30 40 45 51 56 58 27 29 41 44 52 55 59 62 28 42 43 53 54 60 61 63 Mỗi khối ZigZag mã hoá theo phương pháp RLE Cuối khối đầu RLE, ta đặt dấu kết thúc khối EOB (End Of Block) Sau đó, khối dồn lại mã hoá lần phương pháp mã Huffman Nhờ có dấu kết thúc khối nên phân biệt hai khối cạnh giải mã Huffman Hai bảng mã Huffman cho hai thành phần hệ số tất nhiên khác Để giải nén được, phải ghi lại thông tin như: kích thước ảnh, kích thước khối, ma trận T, độ lệch tiêu chuẩn, mức tạo lại, hai bảng mã Huffman, kích thước khối nén chiều, kích thước khối nén xoay chiều ghi nối tiếp vào hai file nén hai thành phần hệ số ĐỒ ÁN Trang 23/27 Tóm lại, DCT làm giảm độ tương quan không gian thông tin block (khối) Điều cho phép biễu diễn thích hợp miền DCT hệ số DCT có xu hướng có phần dư thừa Điều có nghĩa DCT gói phần lớn lượng tín hiệu vào thành phần biến đổi có tần số tương đối thấp để lưu trữ truyền dẫn, tạo giá trị thấp thành phần tần số cao Nhờ đặc tính hệ thống nhìn mắt người, hệ số DCT mã hóa phù hợp, hệ số DCT quan trọng mã hóa truyền DCT thuận kết hợp với DCT nghịch không cho tổn thất độ dài từ mã hệ số 13 đến 14 bits cho tín hiệu video đầu vào số hóa mẫu dài bit Nếu hệ số lượng tử hóa 11 bit (hoặc ngắn hơn), nén DCT có tổn hao 2.2 KHÔI PHỤC ẢNH SỐ Phương pháp lọc ảnh bao gồm bước sau: -Xác định điểm trung tâm (x,y); -Thực phép toán liên quan đến số điểm lân cận với (x,y); -Kết trả đáp ứng trình lọc điểm (x,y); -Lặp lại trình lọc với điểm (x,y) khác Nếu phép toán thực điểm lân cận tuyến tính ta có trình lọc tuyến tính (còn gọi phép chập không gian), ngược lại, ta có trình lọc phi tuyến Để khôi phục ảnh số cụ thể lọc nhiễu ta sử dụng ba loại lọc: -Lọc median -Lọc wiener -Lọc imfilter a.Lọc median Lọc median loại lọc phi tuyến dùng mặt nạ Mỗi pixel thay median pixel láng giềng Lọc median làm cạnh có chất lượng tốt dùng nhiễu tách biệt Giả sử A={a1,a2,…,ak} giá trị pixel láng giềng a1

Ngày đăng: 11/03/2017, 19:49

Từ khóa liên quan

Mục lục

  • Hình 1.1.d Cửa sổ desktop (cửa sổ lớn nhất), và các cửa sổ phụ của nó.

  • Trước tiên để khởi động Matlab bạn click vào biểu tượng Matlab.exe, trên màn hình xuất hiện cửa sổ sau. (Xem hình vẽ 1.1) Cửa sổ đó chứa các thanh công cụ (Giao diện người và máy) cần thiết cho việc quản lý các files, các biến, cửa sổ lệnh, có thể coi desktop là các panel gồm các ô, vùng, quản lý và tác dụng của từng cửa sổ nhỏ được quản lý bởi desktop.

  • 1.1.e Các cửa sổ Làm việc của Matlab

  • + Cửa sổ Command window

  • Là cửa sổ giao tiếp chính của Matlab bởi đây là nơi nhập giá trị các biến, hiển thị giá trị, tính toán giá trị của biểu thức, thực thi các hàm có sẵn trong thư viện (dạng lệnh), hoặc các hàm (dạng function) do người dùng lập trình ra trong M_files.

  • Các lệnh được nhập sau dấu nhắc ‘ >> ‘, và nếu có sai sót trong quá trình gõ (nhập) lệnh thì hãy nhấn phím Enter cho đến khi nhận được dấu nhắc >>. Thực thi lệnh bằng nhấn phím Enter.

  • Gõ các lệnh sau:

  • >> A= pi/2 ;

  • >> B= sin(A)

  • B=1

  • Hình 1.1.e1 Hình cửa sổ Comman window

  • Hoặc chương trình soạn thảo trong M-file dưới đây:

  • % Chuong trinh trong M-file

  • x= 0:pi/6:2*pi;

  • y=sin(x);

  • plot(x, y);

  • % chuong trinh được lưu với tên file là “ve_sin.m”

  • + Cửa sổ command History

  • Các dòng mà bạn nhập vào trong cửa sổ Command window (các dòng này có thể là dòng nhập biến, hoặc có thể là dòng lệnh thực hiện hàm nào đó) được giữ lại trong cửa sổ Command History, và cửa sổ này cho phép ta sử dụng lại những lệnh đó bằng cách click chuột lên các lệnh đó hoặc các biến, nếu như bạn muốn sử dụng lại biến đó.

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan