ỨNG DỤNG BIẾN ĐỔI WAVELET TRONG KỸ THUẬT NÉN ẢNH

63 126 0
ỨNG DỤNG BIẾN ĐỔI WAVELET TRONG KỸ THUẬT NÉN ẢNH

Đ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

Kết quả khảo sát đã cho thấy rằng ứng dụng biến đổi Wavelet kèm theo đó là hai thuật toán EZW và SPIHT có nhiều ưu điểm hơn so với những phương pháp truyền thống như: biến đổi Fourier và biến đổi Cosin. Vì vậy biến đổi Wavelet và hai thuật toán trên đã được em sử dụng trong luận văn này Với phương pháp như trên và sự hỗ trợ của phần mền Matlab 2008b, chương trình nén ảnh dựa trên biến đổi Wavelet đã được xây dựng. Ban đầu chương trình đã nén được đối với ảnh số đen trắng, với tỷ số nén thay đổi theo từng ứng dụng cụ thể. Kết quả ảnh nén được từ hai thuật toán đã cho thấy rằng, nếu cùng tỷ số nén thì ở thuật toán SPIHT cho ta chất lượng ảnh tốt hơn so với thuật toán EZW nhưng thời gian để tiến hành nén lâu hơn (do số lần lặp nhiều hơn)

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH KHÓA LUẬN TỐT NGHIỆP ỨNG DỤNG BIẾN ĐỔI WAVELET TRONG KỸ THUẬT NÉN ẢNH Họ và tên sinh viên: MAI QUỐC VIỆT Ngành: CƠ ĐIỆN TƯ Niên khóa: 2006-2010 Tháng 7/2010 ỨNG DỤNG BIẾN ĐỔI WAVELET TRONG KỸ THUẬT NÉN ẢNH Tác gia MAI QUỐC VIỆT Khóa luận được đệ trình để đáp ứng yêu cầu cấp bằng Kỹ sư ngành Cơ điện tư Giáo viên hướng dẫn: Ths TRẦN THỊ KIM NGÀ Tháng năm 2010 i Cảm ta Em xin gởi đến Cô giáo Trần Thị Kim Ngà lời cam ơn chân thành Cam ơn Cô đã tận tình hướng dẫn, định hướng, tạo điều kiện giúp em hoàn thành luận văn này Em cũng xin chân thành cam ơn quý Thầy Cô ở khoa Cơ khí Công nghệ Trường Đại học Nông Lâm Thành phố Hồ Chí Minh đã tận tình truyền đạt kiến thức và định hướng cho em suốt khóa học Cuối cùng em xin cam ơn gia đình, bạn bè đã động viên giúp đỡ em suốt quá trình học tập Xin trân trọng Mai Quốc Việt ii TÓM TẮT Với mục đích làm giam dung lượng một bức anh số để dễ dàng việc lưu trữ và truyền tín hiệu vẫn đam bao được yêu cầu về độ chính xác thông tin Từ yêu cầu đề ra, em đã tiến hành khao sát phương pháp nén liệu hiện có và ngoài nước để rút ưu điểm và khuyết điểm phương pháp Kết qua khao sát đã cho thấy rằng ứng dụng biến đổi Wavelet kèm theo đó là hai thuật toán EZW và SPIHT có nhiều ưu điểm so với phương pháp truyền thống như: biến đổi Fourier và biến đổi Cosin Vì vậy biến đổi Wavelet và hai thuật toán đã được em sư dụng luận văn này Với phương pháp và hỗ trợ phần mền Matlab 2008b, chương trình nén anh dựa biến đổi Wavelet đã được xây dựng Ban đầu chương trình đã nén được đối với anh số đen trắng, với tỷ số nén thay đổi theo ứng dụng cụ thể Kết qua anh nén được từ hai thuật toán đã cho thấy rằng, nếu cùng tỷ số nén thì ở thuật toán SPIHT cho ta chất lượng anh tốt so với thuật toán EZW thời gian để tiến hành nén lâu (do số lần lặp nhiều hơn) iii MỤC LỤC Trang tựa i Cam tạ ii Tóm tắt iii Mục lục iv Danh sách các chữ viết tắt v Danh sách các hình .vi Danh sách các bang viii 1.1 Đặt vấn đề .1 1.2 Mục đích 2.1 Giới thiệu chung về nén anh số 2.2 Phân loại các kỹ thuật nén anh .4 2.3 Tiêu chuẩn đánh giá chất lượng anh .4 2.4 Các kỹ thuật nén anh có tổn hao 2.4.1 Kỹ thuật mã hóa băng .5 2.4.2 Kỹ thuật mã hóa dựa phép biến đổi 2.5 Cơ sở lý thuyết về biến đổi wavelet .11 2.5.1 Từ biến đổi Fourier đến biến đổi wavelet .11 2.5.2 Biến đổi wavelet 14 2.5.3 Biến đổi Wavelet liên tục 15 2.5.4 Biến đổi wavelet rời rạc 18 2.5.5 Giới thiệu về biến đổi Wavelet Haar .21 2.5.6 Một số ứng dụng bậc biến đổi wavelet .21 3.1 Nội dung .25 3.2 Phương pháp nghiên cứu lý thuyết 25 3.2.1 Cơ sở xây dựng chương trình 25 3.3 Phương pháp nghiên cứu thực nghiệm 28 3.4 Phương pháp bố trí thí nghiệm và xư lí số liệu 28 4.1 Kết qua khao sát đề tài đã công bố .30 4.2 Kết qua tính toán thiết kế .30 4.2.1 Kết qua thuật toán và lưu đồ giai thuật quá trình nén .30 4.2.2 Kết qua chương trình .40 4.3 Kết qua khao nghiệm sơ bộ 40 4.4 Nhận xét .44 Tài liệu tham khao 45 Phụ lục 47 7.1 Những hình anh thể hiện sau nén với các thông số BPP và PSNR tương ứng với thuật toán EZW và SPIHT 47 7.1.1 Thuật toán SPIHT 47 7.1.2 Thuật toán EZW .49 7.2 Nội dung chương trình 50 DANH SÁCH CÁC CHỮ VIẾT TẮT CWT Continous Wavelet Transform Biến đổi Wavelet liên tục DFCT Discrete Fourier Transform Biến đổi Fourier rời rạc iv DCT Discrete Cosine Transform Biến đổi Cosine rời rạc DPCM Differential Pulse CodeModulation Điều xung mã vi sai DWT Discrete Wavelet Transform Biến đổi Wavelet rời rạc IDWT Inverse Discrete Wavelet Biến đổi Wavelet rời rạc ngược Transform JPEG Joint Photographic Experts Group JPEG2000 Joint Photographic Experts Group Chuẩn nén anh Ủy ban JPEG Chuẩn nén anh JPEG 2000 2000 MRA Multi Resolution Analysis Phân tích đa phân giai MSE Mean Square Error PCM Pulse Code Modulation Điều mã xung PSNR Peak Signal to Noise Ratio Tỷ số tín hiệu đỉnh nhiễu QMF Quardrature Mirror Filters Lọc gương cầu tứ phương SPIHT Set Partition in Hierarchical Trees Phương pháp mã hóa phân cấp theo vùng STFT Short Time Fourier Transform Biến đổi Fourier thời đoạn ngắn Sai số bình phương trung bình DANH SÁCH CÁC HÌNH Hình Tên hình trang 2.1 Sơ đờ khái quát hệ thống nén anh 2.2 Sơ đồ mình họa kỹ thuật mã hóa băng 2.3 Sơ đồ minh họa quá trình phân ly bát phân v 2.4 Phân ly hai mẫu thành băng 2.5 Sơ đồ tổng quát biến đổi DWT chiều 10 2.6 Sơ đồ tổng quát biến đổi DWT chiều 10 2.7 Biến đổi Fourier 11 2.8 Biến đổi Fourier thời gian ngắn 13 2.9 Minh họa lưới nhị tố với các giá trị m và n 20 2.10 Sơ đồ nén tín hiệu 21 3.1 Sơ đồ tứ phân 26 3.2 Sơ đồ zero 26 4.1 Phân tích anh dựa biến đổi Wavelet 33 4.2 Các quan hệ cấu trúc kim tự tháp 34 4.3 Thứ tự truyền mặt phẳng bit 34 4.4 Lưu đồ giai thuật chương trình nén anh 37 4.5 Lưu đồ giai thuật thuật toán SPIHT 38 4.6 Lưu đồ giai thuật thuật toán EZW 39 4.7 Giao diện chương trình nén anh 40 4.8 Mối quan hệ BPP và PSNR anh “boat.png” qua hai thuật toán EZW và SPIHT 43 4.9 Mối quan hệ BPP và PSNR anh “lena.png” qua hai thuật toán EZW và SPIHT 43 4.10 Mối quan hệ BPP và PSNR anh “mandrill.png” qua hai thuật toán EZW và SPIHT 44 vi DANH SÁCH CÁC BẢNG Hình Tên bảng Trang 4.1 Kết qua nén thuật toán SPIHT cho anh “boat.png” 41 4.2 kết qua nén thuật toán EZW cho anh “boat.png” 41 4.3 Kết qua nén thuật toán SPIHT cho anh “lena.png” 41 4.4 Kết qua nén thuật toán EZW cho anh “lena.png” 42 vii 4.5 Kết qua thuật toán SPIHT cho anh “mandrill.png” 42 4.6 Kết qua thuật toán EZW cho anh “mandrill.png” 42 viii Chương MỞ ĐẦU 1.1 Đặt vấn đề Trong năm gần đây, nhu cầu về truyền liệu tăng đáng kể, đặc biệt qua thiết bị không dây như: điện thoại di động, các dịch vụ đa phương tiện các thiết bị di động, email, truy cập internet, chia liệu qua mạng di động, hội nghị truyền hình… Một thách thức việc đáp ứng các dịch vụ liệu đa phương tiện di động là cần phai xư lí và truyền tai không dây một khối lượng rất lớn các nội dung với liệu ngày càng phong phú Chính điều này gây áp lực rất lớn đối với nhà cung cấp thiết bị cũng các nhà quan lý băng thông thiết bị không dây Đã có rất nhiều đề tài, báo cáo khoa học nước và quốc tế đề cập đến vấn đề này đặc biệt là ứng dụng biến đổi Wavelet kỹ thuật nén anh và video Có một điều trùng hợp là tất ca các tác gia đều đánh giá cao ưu điểm biến đổi Wavelet nén liệu so với biến đổi trước như: Fourier và Cosin… Dựa tiền đề đã có kết hợp với kiến thức về xư lý anh và tín hiệu số đã tiến hành tìm hiểu về biến đổi Wavelet và thuật toán mã hóa tín hiệu SPIHT và EZW để từ đó xây dựng nên chương trình nén anh số đen trắng 1.2 Mục đích Với mục đích ứng dụng biến đổi Wavelet kèm theo đó là thuật toán mã hóa SPIHT và thuật toán EZW cùng với hỗ trợ phần mềm Matlab 2008b để xây dựng chương trình nén anh dùng cho anh số đen trắng, nhằm thu được anh sau nén có dung lượng nhỏ dung lượng anh ban đầu vẫn đam bao được chất lượng yêu cầu anh Luận văn cũng so sánh được ưu điểm hai thuật toán SPIHT và EZW thông qua các thông số có được từ chương trình đã được xây dựng ở 4.2.2 Kết quả chương trình Chương trình được thiết kế nền là Matlab 7.7 Giao diện chương trình được thiết kế hình 4.7 Chương trình thực hiện nén anh đen trắng dùng biến đổi Wavelet sư dụng hai phương pháp EZW và SPIHT Với chọn lựa phương pháp mã hóa và số lần lặp, ta thu được anh đã nén với các thông số tốc độ bit (BPP) và tỉ số PSNR, tỉ số nén tương ứng Hình 4.7 Giao diện chương trình nén ảnh 4.3 Kết quả khảo nghiệm sơ Để đánh giá kết qua quá trình nén anh, kết qua khao nghiệm được lấy từ chương trình nén anh đã được xây dựng ở tương ứng với thuật toán EZW và SPIHT Hình anh chi tiết anh trước và sau nén hai thuật toán qua các lần lặp khác được nêu phần phụ lục, dưới là kết qua khao nghiệm sơ bộ và đồ thị so sánh kết qua đạt được hai thuật toán Kết qua khao nhiệm được thể hiện thông qua các bang 4.1, 4.2, 4.3, 4.4, 4.5, 4.6 Đồ thị biểu diễn mối quan hệ tốc độ bit (BPP) và tỉ số PSNR qua thuật toán SPIHT và EZW được thể hiện thông qua hình 4.8, 4.9 và 4.10 40 Bảng 4.1 kết quả nén thuật toán SPIHT cho ảnh “boat.png” Số lần lặp Tốc độ bit (BPP) Tỉ số nén (CR) (%) PSNR (dB) 0,008 0,096 19,89 0,021 0,26 21,65 10 0,059 0,75 23,97 11 0,161 2,01 26,39 12 0,393 4,91 29,75 13 0,797 9,72 33,54 14 1,411 17,65 37,61 15 2,309 28,86 Bảng 4.2 kết quả nén thuật toán EZW cho ảnh “boat.png” Số lần lặp Tốc độ bit (BPP) Tỉ số nén (CR) (%) 41,42 PSNR (dB) 0,012 0,15 20,11 0,032 0,39 21,91 10 0,089 1,11 24,1 11 0,228 2,85 26,86 12 0,559 5,99 30,43 13 1,166 14,58 34,50 14 2,114 26,42 38,72 15 3,476 43,46 Bảng 4.3 Kết quả nén thuật tốn SPIHT cho ảnh “lena.png” 42,34 Sớ lần lặp Tốc độ bit (BPP) Tỉ số nén (CR) (%) PSNR (dB) 0,009 0,12 20,22 0,024 0,30 22,39 10 0,06 0,71 24,81 11 0,134 1,68 27,45 12 0,299 3,75 30,47 13 0,615 7,68 33,82 14 15 1,183 2,212 14,79 27,64 37,34 41,15 Bảng 4.4 Kết quả nén thuật tốn EZW cho ảnh “lena.png” 41 Sớ lần lặp Tốc độ bit (BPP) Tỉ số nén (CR) (%) PSNR (dB) 0,034 0,42 22,73 0,084 1,05 25,22 10 0,192 2,40 27,94 11 0,453 5,44 31,09 12 0,908 11,34 34,57 13 1,759 21,98 38,15 14 3,263 40,78 41,96 15 5,241 65,52 44,63 Bảng 4.5 Kết quả thuật tốn SPIHT cho ảnh “mandrill.png” Sớ lần lặp Tớc đợ bit (BPP) Tỉ số nén (CR) (%) PSNR (dB) 0,006 0,08 18,28 0,013 0,17 18,93 10 0,065 0,81 20,08 11 0,308 3,85 22,36 12 0,89 11,16 25,96 13 1,816 22,70 30,46 14 2,970 37,13 35,46 15 4,173 52,16 40,08 Bảng 4.6 Kết quả thuật toán EZW cho ảnh “mandrill.png” Số lần lặp Tốc độ bit (BPP) Tỉ số nén (CR) (%) PSNR (dB) 0,009 0,11 18,38 0,020 0,26 19,01 10 0,085 1,06 20,18 11 0,40 4,94 22,63 12 1,24 15,51 26,66 13 2,662 33,27 31,74 14 4,531 56,64 37,27 15 6,557 81,96 41,61 42 Hình 08 Mối quan hệ BPP và PSNR ảnh “boat.png” qua hai thuật tốn EZW và SPIHT Hình 09 Mối quan hệ BPP và PSNR ảnh “lena.png” qua hai thuật toán EZW và SPIHT 43và PSNR ảnh Hình 010 Mới quan hệ BPP “mandrill.png” qua hai thuật toán EZW và SPIHT 4.4 Nhận xét Từ kết qua khao nghiệm sơ bộ, em nhận thấy rằng, Chất lượng anh sau nén phụ thuộc vào số lần lặp thuật toán, số lần lặp càng lớn thì chất lượng anh càng tốt tỷ số nén lại không cao Kết qua khao nghiệm đã cho thấy rằng, nếu số lần lặp là 15 thì ca hai thuật toán đều cho anh sau nén hầu giống với anh gốc (do giá trị PSNR >40) Với cùng một anh đầu vào và cùng số lần lặp thì thuật toán SPIHT lại có ưu điểm so với thuật toán EZW Cụ thể là thuật toán SPIHT cho ta chất lượng anh tốt thuật toán EZW nếu số bit pixel (BPP) giống (do hệ số PSNR cao hơn) Nhưng số lần lặp thuật toán SPIHT nhiều dẫn đến thời gian nén lâu hơn, vì vậy mà tùy theo ứng dụng mà chúng ta sư dụng thuật toán cho phù hợp 44 Chương KẾT LUẬN VÀ ĐỀ NGHỊ Qua thời gian tìm hiểu, chương trình nén anh (dùng cho anh đen trắng) dựa biến đổi Wavelet và các thuật toán SPIHT, EZW đã đời và đạt yêu cầu đề Kết qua xây dựng chương trình:  Chương trình được xây dựng phần mềm Matlab 2008b, giao diện được thiết kế Guide Matlab  Chương trình đã nén được anh đen trắng đuôi “*.png” với hai thuật toán EZW và SPIHT tương ứng với các số lần lặp khác ta thu được chất lượng anh khác Kết qua khao nghiệm cho thấy:  Ở tốc độ bit thấp, thật toán SPIHT có ưu điểm so với thuật toán EZW, ở chỗ là cùng tốc độ bit (số bit pixel) thì ở thuật toán SPIHT cho ta chất lượng anh tốt (hệ số PSNR lớn hơn) so với thuật toán EZW  Để đạt được tỷ số nén thì ở thuật toán SPIHT cần số lần lặp nhiều so với số lần lặp ở thuật toán EZW nên thời gian nén anh nhiều Vì tùy vào ứng dụng cụ thể mà ta lựa chọn thuật toán nén cho phù hợp Đề nghị: Qua kết qua đã đạt được với anh nén đen trắng, em mong muốn chương trình này được hoàn thiện và phát triển cho nén anh màu, âm thanh, video, khư nhiễu… Đồng thời thực hiện nén ở nhiều họ wavelet khác để tìm các ưu khuyết điểm họ wavelet, sư dụng các phương pháp EZW, SPIHT kết hợp với các phương pháp nén liệu khác để tạo một phương pháp nén mới ứng dụng thêm các thuật toán mới hiện như: WDR, ASWDR… Tài liệu tham khảo Tài liệu tiếng Việt 45 PGS.TS Nguyễn Quang Hoan, 2006, Xử lý ảnh, học viện công nghệ bưu chính viễn thông, 117 trang TS Nguyễn Thanh Bình & Ths Võ Nguyễn Q́c Bao, 2007, Xử lý âm thanh, hình ảnh, học viện công nghệ bưu chính viễn thông, 175 trang Quách T́n Ngọc, 1997, Xử lý tín hiệu sơ, nhà xuất giáo dục, 277 trang Nguyễn Phùng Quang, 2006, MATLAB & Simulink dành cho kỹ sư điều khiển tự động, Nhà xuất ban khoa học kỹ thuật, 481 trang Đỗ Ngọc Anh, 2006, Nén ảnh sử dụng biến đổi Wavelet ứng dụng dịch vụ liệu đa phương tiện di động, Đại học bách khoa Hà Nội, 67 trang Đinh Thành Trung, 2009, Ứng dụng biến đổi Wavelet kỹ thuật nén ảnh, đại học bách khoa Đà Nẵng, 98 trang Ths Nguyễn Hoài Nam, 2004, Các phương pháp sử dụng chuẩn nén ảnh JPEG, tạp chí cơng nghệ thơng tin truyền thông, trang Tài liệu tiếng Anh Mr David L-Donoho, 2005, Signal and Image processing with Wavelet, University of Stanford, 50 pages James S Walker, 2004, wavelet – base Image Compression, University of wisconsin – Eau Claire, 49 pages 10 Amhamed Saffor, 2003, A comparison of JPEG and Wavelet compression Applied to CT images, Department of Radiology, university of Malaisia, 13 pages 46 Phụ lục 7.1 Những hình ảnh thể hiện sau nén với thông số BPP và PSNR tương ứng với thuật toán EZW và SPIHT 7.1.1 Thuật toán SPIHT Ảnh gốc anh đã nén với số lần lặp: anh đã nén với số lần lặp: Tốc độ bit (BPP) = 0.008 Tốc độ bit (BPP) = 0.021 Tỉ số nén (CR) = 0.096 % Tỉ số nén (CR) = 0.26 % PSNR = 19.89 dB PSNR = 21.65 dB Tốc độ bit (BPP)=0.021 Tốc độ bit (BPP)=0.021 Tỉ số nén (CR)=0.26 % Tỉ số nén (CR)=0.26 % PSNR=21.65 dB PSNR=21.65 dB 47 anh đã nén với số lần lặp: 10 Tốc độ bit (BPP) = 0.059 Tỉ số nén (CR) = 0.75 % PSNR = 23.97 dB Tốc độ bit (BPP)=0.021 Tỉ số nén (CR)=0.26 % PSNR=21.65 dB anh đã nén với số lần lặp: 11 Tốc độ bit (BPP) = 0.161 Tỉ số nén (CR) = 2.01 % PSNR = 26.39 dB Tốc độ bit (BPP)=0.021 Tỉ số nén (CR)=0.26 % PSNR=21.65 dB anh đã nén với số lần lặp: 12 anh đã nén với số lần lặp: 13 Tốc độ bit (BPP) = 0.393 Tốc độ bit (BPP) = 0.797 Tỉ số nén (CR) = 4.91 % Tỉ số nén (CR) = 9.72 % PSNR = 29.75 dB PSNR = 33.54 dB Tốc độ bit (BPP)=0.021 Tốc độ bit (BPP)=0.021 Tỉ số nén (CR)=0.26 % Tỉ số nén (CR)=0.26 % PSNR=21.65 dB PSNR=21.65 dB anh đã nén với số lần lặp: 14 anh đã nén với số lần lặp: 15 Tốc độ bit (BPP) = 1.411 Tốc độ bit (BPP) = 2.309 Tỉ số nén (CR) = 17.65 % Tỉ số nén (CR) = 28.86 % PSNR = 37.61 dB 48 PSNR = 41.42 dB Tốc độ bit (BPP)=0.021 Tốc độ bit (BPP)=0.021 Tỉ số nén (CR)=0.26 % Tỉ số nén (CR)=0.26 % PSNR=21.65 dB 7.1.2 Thuật tốn EZW PSNR=21.65 dB Ảnh gớc anh đã nén với số lần lặp: anh đã nén với số lần lặp: Tốc độ bit (BPP) = 0.012 Tốc độ bit (BPP) = 0.032 Tỉ số nén (CR) = 0.15 % Tỉ số nén (CR) = 0.39 % PSNR = 20.11 dB PSNR = 21.91 dB Tốc độ bit (BPP)=0.021 Tốc độ bit (BPP)=0.021 Tỉ số nén (CR)=0.26 % PSNR=21.65 dB Tỉ số nén (CR)=0.26 % PSNR=21.65 dB anh đã nén với số lần lặp: 10 anh đã nén với số lần lặp: 11 Tốc độ bit (BPP) = 0.089 Tốc độ bit (BPP) = 0.228 Tỉ số nén (CR) = 1.11 % Tỉ số nén (CR) = 2.85 % PSNR = 24.1 dB PSNR= 26.86 dB 49 Tốc độ bit (BPP)=0.021 Tốc độ bit (BPP)=0.021 Tỉ số nén (CR)=0.26 % Tỉ số nén (CR)=0.26 % PSNR=21.65 dB PSNR=21.65 dB anh đã nén với số lần lặp: 12 anh đã nén với số lần lặp: 13 Tốc độ bit (BPP) = 0.559 Tốc độ bit (BPP) = 1.166 Tỉ số nén (CR) = 5.99 % Tỉ số nén (CR) = 14.58 % PSNR = 30.43 dB PSNR = 34.50 dB Tốc độ bit (BPP)=0.021 Tốc độ bit (BPP)=0.021 Tỉ số nén (CR)=0.26 % Tỉ số nén (CR)=0.26 % PSNR=21.65 dB PSNR=21.65 dB anh đã nén với số lần lặp: 14 anh đã nén với số lần lặp: 15 Tốc độ bit (BPP) = 2.114 Tốc độ bit (BPP) = 3.476 Tỉ số nén (CR) = 43.46 % PSNR = 42.34 dB Biến đổi wavelet rời rạc 7.2 Nội dung chương trình Lựa chọn anh đầu vào function varargout select_image(varargin) Bắt =đầu gui_Singleton = 1; Tốc độ bit (BPP)=0.021 CThay đổi số lần lặp lại gui_State = struct('gui_Name', mfilename, BKết thúc 'gui_Singleton', gui_Singleton, Tỉ số nén (CR)=0.26 % 'gui_OpeningFcn', Ảnh sau giai nén đạt yêu cầu @select_image_OpeningFcn, 'gui_OutputFcn', @select_image_OutputFcn, PSNR=21.65 dB 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); 50 end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end function select_image_OpeningFcn(hObject, eventdata, handles, varargin) %chon anh de nen handles.name='Y' Y=handles.name handles.Y=handles.name; %chon phuong phap nen handles.meth='X' X=handles.meth; handles.X= handles.meth; handles.output = hObject; guidata(hObject, handles); function varargout = select_image_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; function pushbutton1_Callback(hObject, eventdata, handles) %lựa chọn anh đầu vào name=uigetfile('*.png','select_image'); handles.name=name handles.Y=imread(handles.name); set(handles.text7,'visible','off'); subplot(2,2,1); axis off; colormap gray(255);imagesc(handles.Y); title('anh goc'); I=imread(handles.name); hist(handles.axes1,double(I)); guidata(hObject, handles); function pushbutton2_Callback(hObject, eventdata, handles) %meth = 'ezw'; %Nén anh với thuật toán EZW và SPIHT val1=get(handles.edit1,'string') val1=str2num(val1); wname = 'haar'; nbloop = val1; 51 [CR,BPP] = wcompress('c',handles.name,'mask.wtc',handles.meth,'maxloop', nbloop, 'wname',wname); Yc = wcompress('u','mask.wtc'); subplot(2,2,2); axis off; colormap gray(255);imagesc(Yc); title('anh da nen'); xlabel({['Compression Ratio: ' num2str(CR,'%1.2f %%')],['BPP: ' num2str(BPP,'%3.2f')]}) set(handles.edit2,'string',BPP); set(handles.edit3,'string',CR); Y=imread(handles.name); D = abs(double(Y)-double(Yc)).^2; mse = sum(D(:))/numel(Y) psnr = 10*log10(255*255/mse) set(handles.edit4,'string',psnr); hist(handles.axes2,Yc); function edit1_Callback(hObject, eventdata, handles) function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function uipanel1_CreateFcn(hObject, eventdata, handles) function uipanel1_SelectionChangeFcn(hObject, eventdata, handles) %lựa chọn các thuật toán switch get(eventdata.NewValue,'tag') case 'radiobutton1' handles.meth='ezw' case 'radiobutton2' handles.meth='spiht' end guidata(hObject, handles); function edit2_Callback(hObject, eventdata, handles) function edit2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit3_Callback(hObject, eventdata, handles) function edit3_CreateFcn(hObject, eventdata, handles) 52 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit4_Callback(hObject, eventdata, handles) function edit4_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function pushbutton3_Callback(hObject, eventdata, handles) %Biến đổi wavelet n = 256; Jmin = 1; I = load_image('lena'); open('biendoi_wavelet.fig'); % 2D wavelet transform Iw = perform_wavelet_transform(I,Jmin,+1); % computation until scale Jmin clf; subplot(3,3,1); imagesc(I); axis image; axis off; colormap gray(256); title('anh goc'); subplot(3,3,2); plot_wavelet(Iw, Jmin); colormap gray(256); title('bien doi voi Jmin=1'); Jmin=2; Iw1=perform_wavelet_transform(I,Jmin,+1); subplot(3,3,3); plot_wavelet(Iw1, Jmin); colormap gray(256); title('bien doi voi Jmin=2'); Jmin=3; Iw2=perform_wavelet_transform(I,Jmin,+1); subplot(3,3,4); plot_wavelet(Iw2, Jmin); colormap gray(256); title('bien doi voi Jmin=3'); Jmin=4; Iw4=perform_wavelet_transform(I,Jmin,+1); subplot(3,3,5); plot_wavelet(Iw4, Jmin); colormap gray(256); title('bien doi voi Jmin=4'); Jmin=5; Iw5=perform_wavelet_transform(I,Jmin,+1); subplot(3,3,5); plot_wavelet(Iw5, Jmin); colormap gray(256); title('bien doi voi Jmin=5'); Jmin=6; Iw6=perform_wavelet_transform(I,Jmin,+1); subplot(3,3,6); 53 plot_wavelet(Iw6, Jmin); colormap gray(256); title('bien doi voi Jmin=6'); Jmin=7; Iw7=perform_wavelet_transform(I,Jmin,+1); subplot(3,3,7); plot_wavelet(Iw7, Jmin); colormap gray(256); title('bien doi voi Jmin=7'); Jmin=8; Iw8=perform_wavelet_transform(I,Jmin,+1); subplot(3,3,8); plot_wavelet(Iw8, Jmin); colormap gray(256); title('bien doi voi Jmin=8'); function text7_CreateFcn(hObject, eventdata, handles) function pushbutton4_Callback(hObject, eventdata, handles) exit function pushbutton5_Callback(hObject, eventdata, handles) % khao nghiệm với anh Lena.png open('khao_nghiem.fig'); A=[0.0025 0.004 0.0095 0.024 0.057 0.134 0.23 0.61 1.18 2.21]; B=[16.42 18.24 20.2 22.4 24.81 27.45 30.47 33.82 37.34 41.15]; subplot(1,2,1); axis square plot(A,B); xlabel('BPP') ylabel('PSNR'); title('PHUONG PHAP SPIHT'); C=[0.0064 0.014 0.034 0.084 0.192 0.44 0.91 1.76 3.26 5.24]; D=[18.5 20.5 22.73 25.22 27.94 31.09 34.57 38.15 41.96 44.63]; subplot(1,2,2);axis square; plot(C,D); xlabel('BPP'); ylabel('PSNR'); title('PHUONG PHAP EZW'); 54 .. .ỨNG DỤNG BIẾN ĐỔI WAVELET TRONG KỸ THUẬT NÉN ẢNH Tác gia MAI QUỐC VIỆT Khóa luận được đệ trình để đáp ứng yêu cầu cấp bằng Kỹ sư ngành Cơ điện... phép biến đổi cosine rời rạc – DCT  Kỹ thuật mã hóa dựa phép biến đổi wavelet rời rạc DWT  Kỹ thuật mã hóa dựa phép biến đổi chồng 2.4.2.1 Kỹ thuật mã hóa dựa phép biến. .. 2.5.3 Biến đổi Wavelet liên tục 15 2.5.4 Biến đổi wavelet rời rạc 18 2.5.5 Giới thiệu về biến đổi Wavelet Haar .21 2.5.6 Một số ứng dụng bậc biến đổi wavelet

Ngày đăng: 19/09/2019, 10:50

Từ khóa liên quan

Mục lục

  • 1.1 Đặt vấn đề

  • 1.2 Mục đích

  • 2.1 Giới thiệu chung về nén ảnh số

    • 2.2 Phân loại các kỹ thuật nén ảnh

    • 2.3 Tiêu chuẩn đánh giá chất lượng ảnh

    • 2.4. Các kỹ thuật nén ảnh có tổn hao

      • 2.4.1 Kỹ thuật mã hóa băng con

      • 2.4.2. Kỹ thuật mã hóa dựa trên phép biến đổi

    • 2.5. Cơ sở lý thuyết về biến đổi wavelet

      • 2.5.1. Từ biến đổi Fourier đến biến đổi wavelet

      • 2.5.2. Biến đổi wavelet

      • 2.5.3. Biến đổi Wavelet liên tục

      • 2.5.4. Biến đổi wavelet rời rạc

      • 2.5.5. Giới thiệu về biến đổi Wavelet Haar

      • 2.5.6. Một số ứng dụng nổi bậc của biến đổi wavelet

    • 3.1. Nội dung

    • 3.2. Phương pháp nghiên cứu lý thuyết

      • 3.2.1. Cơ sở xây dựng chương trình

    • 3.3. Phương pháp nghiên cứu thực nghiệm

    • 3.4. Phương pháp bố trí thí nghiệm và xử lí số liệu

    • 4.1. Kết quả khảo sát của những đề tài đã công bố

    • 4.2. Kết quả tính toán thiết kế

      • 4.2.1. Kết quả thuật toán và lưu đồ giải thuật của quá trình nén

      • 4.2.2. Kết quả chương trình

    • 4.3. Kết quả khảo nghiệm sơ bộ

    • 4.4. Nhận xét

  • 6 Tài liệu tham khảo

  • 7 Phụ lục

    • 7.1 Những hình ảnh thể hiện sau khi nén với các thông số BPP và PSNR tương ứng với 2 thuật toán EZW và SPIHT

      • 7.1.1 Thuật toán SPIHT

      • 7.1.2 Thuật toán EZW

    • 7.2 Nội dung chương trình

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

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

Tài liệu liên quan