Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
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 VÀ TRUYÊN THÔNG NGUYỄN HÀ AN MỘTSỐKĨTHUẬTNÉNẢNHVÀỨNGDỤ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 Và đặ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ậtné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 VÀ 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Ý ẢNHVÀ 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ộtsố vấn đề xử lý ảnh 1.1.2.1 Mộtsố 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ỘTSỐKĨTHUẬTNÉ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ậtné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 ỨNGDỤ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 Sơ đồ thực toán ứngdụng 44 3.3.2 Các tham số thử nghiệm 45 3.3.3 Mộtsố 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ộtsố 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 VÀ 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 Sơ đồ 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 ảnhnén 30 Hình 2.9 Sơ đồ 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ậtnénảnh khác 42 vii Hình 3.1 Sơ đồ nénảnh JPEG .44 Hình 3.2 Sơ đồ thực toán ứngdụng 45 Hình 3.3 Giao diện chương trình ứngdụ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ậtsố đ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ậtsố 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 Và 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ụng Dù dung 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 ứngdụng rộng dãi xử lý ảnhsố (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 ứngdụ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 kĩthuậtnénảnh sử dụng ngôn ngữ lập trình C Sharp 2010 để giải tốn ứngdụngné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ộtsốkĩthuậtnénảnh Chương 3: Chương trình ứngdụ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Ý ẢNHVÀ 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 ứngdụ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 Sơ đồ 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 ảnhnén ‟44.jpeg‟ kích thước 1024x682 size 162 KB, ảnhnén kênh Red kích thước 1024x682 size 69,1 KB, ảnhnén kênh Green kích thước 1024x682 size 132 KB, ảnhné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 ảnhnén „huy1.jpeg‟ kích thước 480x640 size 29 KB, ảnhnén kênh Red kích thước 480x640 size 19,1 KB, ảnhnén kênh Green kích thước 480x640 size 25,6 KB, ảnhné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 ảnhné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 ảnhné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ý ảnhné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ộtsốkĩthuậtné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ừ kĩ 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 ứngdụ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 ứngdụ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ộtsố 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 ảnhdung 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ý ảnhsố 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