1. Trang chủ
  2. » Luận Văn - Báo Cáo

Một số kĩ thuật nén ảnh và ứng dụng

70 99 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

Định dạng
Số trang 70
Dung lượng 2,44 MB

Nội dung

ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN TRUYÊN THÔNG NGUYỄN HÀ AN MỘT SỐ THUẬT NÉN ẢNH ỨNG DỤNG LUẬN VĂN THẠC SĨ: CÔNG NGHỆ THÔNG TIN Thái Nguyên, năm 2014 ii LỜI CẢM ƠN Trên thực tế khơng có thành cơng mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Trong suốt thời gian học tập trường Đại học Công nghệ thông tin Truyền thông – Đại học Thái Nguyên nhận nhiều giúp đỡ thầy cô, bố mẹ, bạn bè người thân Với lòng biết ơn sâu sắc xin chân thành cảm ơn đến quý thầy cô trường Đại Học Công nghệ thông tin Truyền thông – Đại học Thái Nguyên, đặc biệt thày PGS.TS Phạm Việt Bình, với quý thầy cô Viện Công nghệ thông tin, đặc biệt thày PGS.TS Đỗ Năng Toàn, PGS.TS Đặng Văn Đức, PGS.TSKH Nguyễn Xuân Huy, truyền đạt vốn kiến thức quý báu cho đặc biệt thầy cô tạo điều kiện cho làm luận văn tốt nghiệp với đề tài: “Một số kỹ thuật nén ảnh ứng dụng” Xin chân thành cám ơn thầy cô công tác Phòng Đào tạo, trường Đại học cơng nghệ thông tin truyền thông, Đại học Thái Nguyên, đặc biệt thầy Lê Hùng Linh cô Vân tạo điều kiện để học viên Hải Phòng hồn thành khóa đào tạo sau đại học cơng nghệ thơng tin Tôi xin chân thành cảm ơn thầy Đỗ Trung Tuấn tận tình giúp đỡ hướng dẫn tơi qua buổi học lớp buổi nói chuyện thảo luận nghiên cứu đề tài Nếu khơng có hướng dẫn, bảo tận tình thầy thiết nghĩ báo cáo khó hồn thành Với đề tài mẻ vốn kiến thức hạn chế nên tiểu luận có nhiều sai sót q trình tiếp cận đề tài Tơi mong góp ý quý thầy cô bạn để tiểu luận hồn thiện Một lần tơi xin chân thành cảm ơn thầy cô bạn Học viên gửi lời biết ơn đến gia đình người thân, chia sẻ khó khăn việc hồn thành khóa học viết luận văn MỤC LỤC LỜI CẢM ƠN ii DANH MỤC TỪ VIẾT TẮT NGHĨA CỦA TỪ VIẾT TẮT v DANH MỤC CÁC BẢNG, HÌNH VẼ vi PHẦN MỞ ĐẦU CHƯƠNG KHÁI QUÁT VỀ XỬ LÝ ẢNH BÀI TOÁN NÉN ẢNH 1.1 Khái quát xử lý ảnh .3 1.1.1 Giới thiệu 1.1.2 Một số vấn đề xử lý ảnh 1.1.2.1 Một số khái niệm 1.1.2.2 Nắn chỉnh biến dạng .4 1.1.2.3 Khử nhiễu 1.1.2.6 Nhận dạng .6 1.1.2.7 Nén ảnh 1.2 Bài toán nén ảnh 1.2.1 Giới thiệu 1.2.2 Các cách tiếp cận toán nén ảnh 10 1.3 Kết luận chương 10 CHƯƠNG .11 MỘT SỐ THUẬT NÉN ẢNH 11 2.1 Nén bảo toàn 11 (Run-Length Encoding) 12 2.1.1.1 Ý tưởng thuật toán 12 2.1.1.2 Thuật toán 14 14 2.1.3 Đánh giá thuật toán 20 2.2 Nén khơng bảo tồn .21 2.2.1 Nén JPEG 22 2.2.1.1 Ý tưởng thuật toán 22 2.2.1.2 Thuật toán nén ảnh JPEG 22 2.2.2 Kỹ thuật nén AIC (Advanced Image Coding) 28 2.2.2.1 Giới thiệu .29 2.2.2.2 Nén chất lượng ảnh AIC so sánh với JPEG JPEG-2000 .30 2.2.2.3 Thuật toán AIC 30 2.2.2.4 Các kết - AIC 42 1.3 Kết luận chương 42 CHƯƠNG .43 CHƯƠNG TRÌNH ỨNG DỤNG TRUYỀN ẢNH QUA MẠNG 43 3.1 Bài toán truyền ảnh qua mạng 43 3.2 Lựa chọn chương trình nén ảnh JPEG .43 3.3 Thử nghiệm nén ảnh JPEG 44 3.3.1 đồ thực toán ứng dụng 44 3.3.2 Các tham số thử nghiệm 45 3.3.3 Một số kết thử nghiệm .46 3.3.4 Đánh giá chương trình thử nghiệm 51 3.4 Kết luận chương 51 KẾT LUẬN 52 52 Một số hạn chế .52 53 TÀI LIỆU THAM KHẢO 54 PHỤ LỤC 55 DANH MỤC TỪ VIẾT TẮT NGHĨA CỦA TỪ VIẾT TẮT 3D Ba chiều DIB Device Independent Bitmap DTC Disrete Cosine Transformation FDCT Forward Disrete Cosine Transformation IDCT Inverse Disrete Cosine Transformation MPEG JPEG Joint Photographic Expert Group ES Bar Vạch camera Máy chụp ảnh, dùng máy quay video VHS FORTRAN Ngơn ngữ lập trình FORTRAN Fourier Tên nhà tốn học, đề xuất phép biến đổi tín hiệu AIC Advanced Image Coding IPTV Truyền hình số IP IT Cơng nghệ thông tin PSNR Peak Signal to Noise Ratio pixel Điểm ảnh RGB Ba màu đỏ, lục, xanh lam toolbox Hộp công cụ PEL Picture Element AVC Advanced Video Coding CABAC Context adaptive binary arithmetic coding ITU-T Liên hiệp viễn thơng quốc tế ISO/IEC Tổ chức tiêu chuẩn hóa quốc tế Ủy ban kỹ thuật điện tử quốc tế PSNR tỉ số tín hiệu đỉnh nhiễu LZW Jacob Abraham Ziv DANH MỤC CÁC BẢNG, HÌNH VẼ Hình 1 Quá trình xử lý ảnh Hình Các bước hệ thống xử lý ảnh .4 Hình Ảnh thu nhận ảnh mong muốn Hình Quá trình hiển thị chỉnh sửa, lưu trữ ảnh thông qua DIB Hình 1.5 Sự chuyển đổi mơ hình biểu diễn ảnh .9 Bảng 2.1 Cấu trúc từ điển phần tử mã .15 Bảng 2.2 Ví dụ chế nén LZW 16 Hình 2.3 đồ thuật tốn nén LZW 18 Hình 2.5: Quá trình nén ảnh theo chuẩn JPEG 22 Hình 2.6 Quá trình giải nén ảnh theo chuẩn JPEG .23 Hình 2.7: Hình minh họa khối Zig-Zag 28 Hình 2.8 So sánh ảnh gốc ảnh nén 30 Hình 2.9 đồ khối nén AIC giải nén AIC 31 Hình 2.10 Ảnh chuyển đổi sang kênh RGB 31 Hình 2.11 Ảnh chuyển đổi sang kênh YCbCr 32 Hình 2.12 Hình ảnh chia thành khối .33 Hình 2.13 Khối 8x8 với 25 điểm ảnh 34 Hình 2.14 Các chế độ dự đốn khối .36 Hình 2.15 Quá trình dự đốn 37 Hình 2.16 Ảnh độ chói dư thừa 38 Hình 2.17 Hình so sánh kỹ thuật nén ảnh khác 42 vii Hình 3.1 đồ nén ảnh JPEG .44 Hình 3.2 đồ thực toán ứng dụng 45 Hình 3.3 Giao diện chương trình ứng dụng 46 Hình 3.4 Giao diện chương trình chạy thử .47 Hình 3.5 Cửa sổ thơng báo hồn tất quy trình nén ảnh 47 Hình 3.6 Kết sau thử nghiệm với ảnh *.gif .48 Hình 3.7 Thử nghiệm với ảnh JPEG 50 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ PHẦN MỞ ĐẦU Cuộc cách mạng thông tin kỹ thuật số đem lại thay đổi sâu sắc xã hội sống Bên cạnh thuận lợi mà thông tin kỹ thuật số mang lại nảy sinh thách thức cho trình đổi Sự đời phần mềm có tính mạnh, thiết bị máy ảnh kỹ thuật số, máy quét chất lượng cao, máy in, máy ghi âm kỹ thuật số…đã giúp người sáng tạo, xử lý thưởng thức liệu đa phương tiện (multimedia data) Mạng Internet toàn cầu biến thành xã hội ảo, nơi diễn q trình trao đổi thơng tin lĩnh vực trị, qn sự, quốc phòng, kinh tế, thương mại vv Trao đổi thông tin qua kênh truyền thông công khai đã, sử dụng phổ biến kỷ nguyên công nghệ số đại mơi trường mở tiện nghi xuất khó khăn việc truyền tải lượng lớn file ảnh, file text, file liệu đa phương tiện… lúc Do có nhiều phần mềm nén giải nén liệu đời Hiện nay, phổ biến sử dụng nhiều phần mềm nén giải nén „WinRAR ZIP archive‟ Phần mềm bổ trợ hữu ích tiện lợi cho người sử dụngdung lượng file có lớn đến đâu cần nhấp chuột trở nên nhỏ gọn dễ dàng gửi cách nhanh chóng Phần mềm dễ cài đặt dễ sử dụng Bên cạch phần mềm Matlab phổ biến tiện ích tốn số học, logic … ngồi phần mềm Matlab ứng dụng rộng dãi xử lý ảnh số (Indexed Images), ảnh cường độ (Intensity Images), ảnh nhị phân (Binary Images), ảnh RGB (RGB Images)… Nén ảnh phận chiếm tỉ lệ lớn chương trình ứng dụng, phần mềm nén liệu sử dụng nhiều liệu đa phương tiện lượng thông tin trao đổi hình ảnh video lớn nén ảnh đóng vai trò quan trọng hầu hết ứng dụng thông tin mạng internet trang web quản cáo Chính mà vấn đề nhận quan tâm lớn cá nhân, tổ chức, trường đại học, viện nghiên cứu giới vv Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Tơi tin lĩnh vực nghiên cứu có nhiều hứa hẹn tương lai gần dần trở thành hướng lĩnh vực nén ảnh ngơn ngữ lập trình C Sharp 2010 Trong luận văn sâu vào nghiên cứu thuật nén ảnh sử dụng ngôn ngữ lập trình C Sharp 2010 để giải tốn ứng dụng nén ảnh Cấu trúc luận văn Luận văn gồm có chương: Chương 1: Khái quát xử lý ảnh toán nén ảnh Chương 2: Một số thuật nén ảnh Chương 3: Chương trình ứng dụng truyền ảnh qua mạng Cuối khóa luận phần kết luận danh sách tài liệu tham khảo, phụ lục chương trình Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ CHƯƠNG KHÁI QUÁT VỀ XỬ LÝ ẢNH BÀI TOÁN NÉN ẢNH 1.1 Khái quát xử lý ảnh 1.1.1 Giới thiệu Con người thu nhận thơng tin qua giác quan, thị giác đóng vai trò quan trọng Những năm trở lại với phát triển phần cứng máy tính, xử lý ảnh đồ họa phát triển cách mạnh mẽ có nhiều ứng dụng sống Xử lý ảnh đồ họa đóng vai trò quan trọng tương tác người máy Quá trình xử lý ảnh xem trình thao tác ảnh đầu vào nhằm cho kết mong muốn Kết đầu trình xử lý ảnh ảnh „tốt hơn‟ kết luận Hình 1 Quá trình xử lý ảnh Ảnh xem tập hợp điểm ảnh điểm ảnh xem đặc trưng cường độ sáng hay dấu hiệu vị trí đối tượng khơng gian xem hàm n biến P(c1, c2, c3, … , cn) Do đó, ảnh xử lý ảnh xem ảnh n chiều đồ tổng quát hệ thống xử lý ảnh: Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Hình 3.4 Giao diện chương trình chạy thử Hình 3.5 Cửa sổ thơng báo hồn tất quy trình nén ảnh Thử nghiệm nén ảnh *.GIF ta kết sau: Hình 3.6 Kết sau thử nghiệm với ảnh *.gif Ta chọn chất lượng ảnh 100 Sau nén ảnh gốc „ảnh nghệ thuật.gif‟ kích thước 1024x682 size 202 KB ta ảnh nén ‟44.jpeg‟ kích thước 1024x682 size 162 KB, ảnh nén kênh Red kích thước 1024x682 size 69,1 KB, ảnh nén kênh Green kích thước 1024x682 size 132 KB, ảnh nén kênh Blue kích thước là1024x682 size 66,1 KB Thử nghiệm với ảnh *.JPEG ta kết sau: Hình 3.7 Thử nghiệm với ảnh JPEG File ảnh vào DSC04371.jpeg với kích thước 480x640 size 160 KB, ta ảnh nén „huy1.jpeg‟ kích thước 480x640 size 29 KB, ảnh nén kênh Red kích thước 480x640 size 19,1 KB, ảnh nén kênh Green kích thước 480x640 size 25,6 KB, ảnh nén kênh Blue kích thước 480x640 size 18,3 KB 3.3.4 Đánh giá chương trình thử nghiệm Sau : Ưu điểm: Chương trình cài đặt JPEG nén file ảnh dạng *.gif, *.png, *.bmp (ảnh 16 màu, 256 màu, 24 bit màu) cho kết nén tốt, tỉ lệ nén cao, chất lượng tốt Nhược điểm: Đối với ảnh đa mức xám chương trình nén cho kích cỡ lớn nhiều so với ảnh gốc, cho kích thước ảnh nén nhỏ so với kích thước ảnh gốc khơng đáng kể Đối với ảnh có đơi *.jpeg kết nén giảm khoảng 30% đến 40% so với kích thước ảnh ban đầu hiệu nén tỷ lệ nghịch với nhau, chất lượng ảnh nén tốt kích thước file giảm ngược lại Ảnh sau nén không phục hồi lại trạng thái ban đầu, luận văn chie xây dựng chương trình nén ảnh, chưa xây dựng chương trình gải nén 3.4 Kết luận chương Chương thử nghiệm nguồn, cho phép thực nhiệm vụ nén ảnh JPEG đạt KẾT LUẬN Trong thời gian làm đề tài với hạn chế thời gian, tài liệu, sở vật chất hạn chế kiến thức đòi hỏi thân tơi phải cố gắng tìm tòi nhiệt tình cơng việc nghiên cứu đề tài cuối đề tài hoàn thành trọn vẹn Đó kết thời gian dài nỗ lực nghiên cứu hướng dẫn tận tình, chu đáo giáo viên hướng dẫn nên đề tài hoàn thành thời hạn , luận : Tìm hiểu tổng quan xử lý ảnh nén ảnh nhiệm vụ xử lý ảnh Hiểu thêm số thuật tốn mã hóa nén liệu bảo tồn trình bày khái niệm, định lý cần thiết kỹ thuật mã hóa, nén liệu ảnh nguyên tắc, sở lý thuyết, so sánh thuật toán số phương pháp nén ảnh phổ biến như: mã loạt dài RLE, LZW Một số thuật nén khơng bảo tồn nén ảnh JPEG, H.264, AIC so sánh chuẩn nén ảnh Luận văn trình bày thuật tốn nén ảnh AIC thuật toán nén ảnh kết hợp khối dự đoán từ H.264 DCT thuật toán nén ảnh JPEG, thuật toán nén ảnh nâng cao AIC quan tâm phát triển tính bật so với phương pháp khác Từ thuật tốn luận văn tìm hiểu chạy thử nghiệm, cài đặt ứng dụng để minh họa vấn đề trình bày đề tài So sánh kết đạt với phần mềm có Em lựa chọn chuẩn nén JPEG để giải toán ứng dụng JPEG cho hiệu suất nén cao loại ảnh *.bmp; *.jpeg; *.gif; *.png chất lượng ảnh bảo đảm Một số hạn chế Các thuật toán nén liệu RLE, LZW chuẩn nén JPEG trình bày luận văn đời từ nhiều năm trước cần nghiên cứu cải tiến, kết hợp thuật toán cho kết nén ảnh tốt tốc độ nén nâng cao Chương trình nén ảnh JPEG chưa xây dựng chương trình giải nén, ảnh sau nén truyền qua mạng khôi phục lại trạng thái ban đầu Thuật tốn AIC luận văn giai đoạn tìm hiểu phát triển, việc thuật tốn AIC kết hợp thuật toán H.264 (chuẩn nén video) thuật toán nén ảnh JPEG đem lại phương pháp nén ảnh mới, tốc độ nén nhanh, chất lượng ảnh dung lượng file nén tốt Tiếp tục xây dựng chương trình giải nén JPEG đề cập luận văn Mã hóa hình ảnh nâng cao AIC giai đoạn thử nghiệm phát triển tương lai, để trở thành sản phẩm hoàn thiện cần cải tiến AIC thực tốt hơn, giảm chi phí cho AIC nhiều Tìm hiểu thêm thuật tốn nén ảnh như: JPEG-XR, JPEG-LS, để so sánh với AIC Tiếp tục tìm hiểu thuật tốn nén ảnh độ nét cao, có tốc độ nén nhanh kết tốt mà chất lượng ảnh giữ nguyên Đặc biệt sâu vào tìm hiểu chuẩn nén âm thanh, chuẩn nén hình ảnh với độ nét cao TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đỗ Hoàng Tiến Vũ Đức Lý Truyền hình số NXB Khoa học kỹ thuật – Hà Nội, 2000 [2] Đỗ Năng Toàn, Phạm Việt Bình Giáo trình xử lý ảnh, Đại học Thái Nguyên, 2007 [3] Hồ văn Sung Xử lý ảnh số lý thuyết thực hành, NXB Khoa học kỹ thuật – Hà Nội, 2009 [4] Nguyễn Đăng Bình Giáo trình xử lý ảnh số, Trường Đại Học Khoa Học Huế, 2011 – [5] , 2002 Tiếng Anh [6] David Salomon - “Data Compression - The Complete Reference” (2001) [7] Jin Li - “Image Compression - the Mechanics of the JPEG2000”(2001) [8] Satish Kumar - “An Introduction to Image Compression” (10/2001) [9] Iain E.G Richardson (2010), H.264 and MPEG-4 video compression: Video coding for Next-generation MultiMedia Explains the details of the H.264 and MPEG-4 standards [10] R.C.Gonzalez, R.E.Woods, Steven L.Eddins, Digital Image Processing Using Matlab, Prentice Hall, 2003 PHỤ LỤC Chương trình nén ảnh JPEG using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using JpegEncoder; namespace EncoderUI { public partial class frmJPGEncoder : Form { public frmJPGEncoder() { InitializeComponent(); } byte[, ,] image_array; Bitmap mainLoadedImage; String InputFileName = ""; String OutputFileName = ""; Int64 outputFileLength = 0; Point originalDimension = new Point(0, 0); Point actualDimension = new Point(0, 0); Utils.ProgressUpdater progressObj = new Utils.ProgressUpdater(); Utils.CurrentOperationUpdater currentOperationObj = new Utils.CurrentOperationUpdater(); private void Write_Channel_Images(bool WriteYCbCrChannel, Bitmap bmpImage, bool DrawInBW, Utils.IProgress progress, Utils.ICurrentOperation operation) { byte[, ,] y_channel = Imaging.Get_Channel_Data(image_array, DrawInBW, bmpImage.Width, bmpImage.Height, WriteYCbCrChannel ? Imaging.ChannelType.Y : Imaging.ChannelType.R);//, progress, operation); YChPictureBox.Image = Utils.Write_Bmp_From_Data(y_channel, new Point(bmpImage.Width, bmpImage.Height), progress, operation); byte[, ,] cb_channel = Imaging.Get_Channel_Data(image_array, DrawInBW, bmpImage.Width, bmpImage.Height, WriteYCbCrChannel ? Imaging.ChannelType.Cb : Imaging.ChannelType.G);//, progress, operation); CbChPictureBox.Image = Utils.Write_Bmp_From_Data(cb_channel, new Point(bmpImage.Width, bmpImage.Height), progress, operation); byte[, ,] cr_channel = Imaging.Get_Channel_Data(image_array, DrawInBW, bmpImage.Width, bmpImage.Height, WriteYCbCrChannel ? Imaging.ChannelType.Cr : Imaging.ChannelType.B); ;//, progress, operation); CrChPictureBox.Image = Utils.Write_Bmp_From_Data(cr_channel, new Point(bmpImage.Width, bmpImage.Height), progress, operation); } private void open_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Image Files|*.bmp;*.jpg;*.jpeg;*.png;*.gif;*.tiff|BMP Files|*.bmp|JPEG Files| *.jpeg;*.jpg|PNG Files|*.png|GIF Files|*.GIF|All Files|*.*"; if (DialogResult.OK == ofd.ShowDialog()) { mainPictureBox.Image = null; YChPictureBox.Image = null; CbChPictureBox.Image = null; CrChPictureBox.Image = null; InputFileName = ofd.FileName; Bitmap bmp = new Bitmap(InputFileName); mainLoadedImage = bmp; mainPictureBox.Image = bmp; originalDimension = new Point(bmp.Width, bmp.Height); actualDimension = Utils.GetActualDimension(originalDimension); Bitmap bmp1 = new Bitmap(InputFileName); image_array = Utils.Fill_Image_Buffer(bmp1); Write_Channel_Images(false, mainLoadedImage, false, progressObj, currentOperationObj); } } private void Form1_Load(object sender, EventArgs e) { quantizerQualityComboBox.SelectedIndex = 5; Tables.Precalculate_YCbCr_Tables(); // For getting tables to convert RGB to YCbCr } private void WriteJpgButton_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); sfd.RestoreDirectory = true; sfd.Filter = "Jpeg (*.jpg)|*.jpg|All files (*.*)|*.*"; if (DialogResult.OK == sfd.ShowDialog()) { OutputFileName = sfd.FileName; FileStream fs = new FileStream(OutputFileName, FileMode.Create, FileAccess.Write, FileShare.None); BinaryWriter bw = new BinaryWriter(fs); JpegEncoder.BaseJPEGEncoder encoder = new BaseJPEGEncoder(); encoder.EncodeImageBufferToJpg(image_array , originalDimension, actualDimension, bw, float.Parse(quantizerQualityComboBox.Text)); fs.Flush(); outputFileLength = fs.Length; fs.Close(); MessageBox.Show("Quá trình chuyển đổi đị nh dạng ảnh xong", "Nén liệu", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void YChPictureBox_Click(object sender, EventArgs e) { if (mainPictureBox.Image != null) { if (YChPictureBox.Image != null) mainPictureBox.Image = YChPictureBox.Image; } } private void mainPictureBox_Click(object sender, EventArgs e) { if (mainLoadedImage != null) mainPictureBox.Image = mainLoadedImage; } private void CbChPictureBox_Click(object sender, EventArgs e) { if (mainPictureBox.Image != null) { if (CbChPictureBox.Image != null) mainPictureBox.Image = CbChPictureBox.Image; } } private void CrChPictureBox_Click(object sender, EventArgs e) { if (mainPictureBox.Image != null) { } if (CrChPictureBox.Image != null) mainPictureBox.Image = CrChPictureBox.Image; } private void YCbCrDisplayTypeRadioButton_CheckedChanged(object sender, EventArgs e) { LoadChannelImages(); } private void DrawInBWCheckBox_CheckedChanged(object sender, EventArgs e) { if (RGBDisplayTypeRadioButton.Checked == true) { LoadChannelImages(); } } private void LoadChannelImages() { // } if (YCbCrDisplayTypeRadioButton.Checked) // { // Y_Label.Text = "Y Channel"; // Cb_Label.Text = "Cb Channel"; // Cr_Label.Text = "Cr Channel"; // } //else { Y_Label.Text = "Red Channel"; Cb_Label.Text = "Green Channel"; Cr_Label.Text = "Blue Channel"; } private void writeCurrentImageButton_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); sfd.RestoreDirectory = true; sfd.Filter = "Jpeg (*.jpg)|*.jpg|All files (*.*)|*.*"; if (DialogResult.OK == sfd.ShowDialog()) { OutputFileName = sfd.FileName; FileStream fs = new FileStream(OutputFileName, FileMode.Create, FileAccess.Write, FileShare.None); BinaryWriter bw = new BinaryWriter(fs); JpegEncoder.BaseJPEGEncoder encoder = new BaseJPEGEncoder(); encoder.EncodeImageToJpg(mainPictureBox.Image, bw, float.Parse(quantizerQualityComboBox.Text));//, fs.Flush(); outputFileLength = fs.Length; fs.Close(); MessageBox.Show("Quá trình chuyển đổi đị nh dạng ảnh xong", "Nén liệu", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void btnChonAnh_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "Image Files|*.bmp;*.jpg;*.jpeg;*.png;*.gif;*.tiff| BMP Files|*.bmp|JPEG Files|*.jpeg;*.jpg|PNG Files|*.png|GIF Files|*.GIF| All Files|*.*"; if (DialogResult.OK == ofd.ShowDialog()) { mainPictureBox.Image = null; YChPictureBox.Image = null; CbChPictureBox.Image = null; CrChPictureBox.Image = null; InputFileName = ofd.FileName; Bitmap bmp = new Bitmap(InputFileName); mainLoadedImage = bmp; mainPictureBox.Image = bmp; originalDimension = new Point(bmp.Width, bmp.Height); actualDimension = Utils.GetActualDimension(originalDimension); Bitmap bmp1 = new Bitmap(InputFileName); image_array = Utils.Fill_Image_Buffer(bmp1); Write_Channel_Images(false, mainLoadedImage, false, progressObj, currentOperationObj); } } private void mainPictureBox_DoubleClick(object sender, EventArgs e) { btnChonAnh_Click(sender, e); } private void button1_Click(object sender, EventArgs e) { DisplayGroupBox.Enabled = true; } } } ... xử lý ảnh toán nén ảnh Chương 2: Một số kĩ thuật nén ảnh Chương 3: Chương trình ứng dụng truyền ảnh qua mạng Cuối khóa luận phần kết luận danh sách tài liệu tham khảo, phụ lục chương trình Số hóa... thành hướng lĩnh vực nén ảnh ngơn ngữ lập trình C Sharp 2010 Trong luận văn sâu vào nghiên cứu kĩ thuật nén ảnh sử dụng ngôn ngữ lập trình C Sharp 2010 để giải tốn ứng dụng nén ảnh Cấu trúc luận... tiếp cận nén ảnh: Nén ảnh thống kê: Kỹ thuật nén dựa vào việc thống kê tần xuất xuất giá trị điểm ảnh, sở mà có chiến lược mã hóa thích hợp Một ví dụ điển hình cho kỹ thuật mã hóa *.TIF Nén ảnh không

Ngày đăng: 21/02/2019, 03:33

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w