Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
2,08 MB
Nội dung
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN - - PHẠM THỊ NGỌC THƯ MỘT SỐ KỸ THUẬT XỬ LÝ ẢNH VÀ XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG VỚI ẢNH JPG, BMP KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Khoa học máy tính Hà Nội - 2015 TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI - KHOA CÔNG NGHỆ THÔNG TIN - - PHẠM THỊ NGỌC THƯ PHẠM THỊ NGỌC THƯ MỘT SỐ KỸ THUẬT XỬ LÝ ẢNH VÀ MỘT SỐ KỸ THUẬT XỬ LÝ ẢNH VÀ XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG VỚI ẢNH JPG, BMP VỚI ẢNH JPG, BMP KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Khoa học máy tính Chuyên ngành: Khoa học máy tính Người hướng dẫn khoa học Người hướng dẫn khoa học PGS TS LÊ HUY THẬP PGS TS LÊ HUY THẬP Hà Nội - 2015 LỜI CẢM ƠN Lời em xin chân thành cảm ơn hướng dẫn tận tình thầy giáo PGS TS Lê Huy Thập trực tiếp hướng dẫn bảo tận tình cho em hồn thành khóa luận Em xin chân thành cảm ơn thầy, cô giáo khoa Công nghệ Thông tin, thầy cô giáo trường giảng dạy giúp đỡ em năm học vừa qua Chính thầy, cô giáo xây dựng cho chúng em kiến thức tảng kiến thức chuyên môn để em hồn thành khóa luận tốt nghiệp chuẩn bị cho cơng việc sau Cuối em xin bày tỏ lòng biết ơn tới gia đình bạn bè giúp đỡ động viên em nhiều suốt trình học tập để em thực tốt khóa luận Do kiến thức thời gian cịn hạn chế nên khóa luận khơng tránh khỏi thiếu sót Kính mong nhận đóng góp ý kiến thầy bạn để khóa luận hồn thiện Hà Nội, tháng 05 năm 2015 Sinh viên Phạm Thị Ngọc Thư LỜI CAM ĐOAN Tên em là: PHẠM THỊ NGỌC THƯ Sinh viên lớp: K37 – CNTT, khoa Công nghệ Thông tin, trường Đại học sư phạm Hà Nội Em xin cam đoan: Đề tài: “Một số kỹ thuật xử lý ảnh xây dựng chương trình mơ với ảnh JPG, BMP” nghiên cứu riêng em, hướng dẫn thầy giáo PGS TS Lê Huy Thập Khóa luận hồn tồn khơng chép tác giả khác Nếu sai em xin hoàn toàn chịu trách nhiệm Hà Nội, tháng 05 năm 2014 Người cam đoan Phạm Thị Ngọc Thư MỤC LỤC MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ XỬ LÝ ẢNH 1.1 Xử lý ảnh 1.2 Những vấn đề xử lý ảnh 1.2.1 Khái niệm 1.2.2 Biểu diễn ảnh 10 1.2.3 Tăng cường ảnh 12 1.2.4 Phân vùng ảnh 12 1.2.5 Phân tích ảnh 12 1.2.6 Nhận dạng ảnh 13 1.2.7 Nén ảnh 14 1.3 Các định dạng ảnh 14 1.3.1 Ảnh BMP (Bitmap) 15 1.3.2 Ảnh JPEG (Joint Photographic Experts Group) 16 1.3.3 Ảnh PCX (Personal Computer Exchange) 16 1.3.4 Ảnh PNG (Portable Network Graphics) 18 CHƯƠNG MỘT SỐ KỸ THUẬT XỬ LÝ ẢNH 19 2.1 Kỹ thuật sử dụng toán tử điểm 19 2.1.1 Tăng giảm độ sáng 20 2.1.2 Tăng độ tương phản 20 2.1.3 Biến đổi âm 21 2.1.4 Biến đổi ảnh đen trắng 22 2.2 Kỹ thuật lọc nhiễu ảnh 22 2.2.1 Phép cuộn mẫu 23 2.2.2 Kỹ thuật làm trơn nhiễu lọc tuyến tính 24 2.2.3 Kỹ Thuật làm trơn nhiễu lọc phi tuyến 27 2.3 Kỹ thuật phát biên ảnh 29 2.3.1 Khái niệm 29 2.3.2 Kỹ thuật phát biên Gradient 30 2.3.3 Kỹ thuật Laplace 35 2.3.4 Kỹ thuật dò biên gián tiếp 36 CHƯƠNG CÀI ĐẶT CHƯƠNG TRÌNH MƠ PHỎNG 38 3.1 Phát biểu toán 38 3.2 Thiết kế chương trình 38 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 46 TÀI LIỆU THAM KHẢO 47 PHỤ LỤC 48 DANH MỤC HÌNH Hình 1.1 Quá trình xử lý ảnh Hình 1.2 Các giai đoạn xử lý ảnh Hình 1.3 Ví dụ ảnh đen trắng Hình 1.4 Ví dụ ảnh màu Hình 1.5 Lân cận điểm ảnh Hình 1.6 Minh họa ảnh biểu diễn mã loạt dài: (1,1) 1; (1,3) 2; (2,0) 4; (3,1) 11 Hình 1.7 Minh họa biểu diễn Mã xích 11 Hình 1.8 Định dạng ảnh BMP 16 Hình 2.1 Biểu đồ dãn tương phản 21 Hình 2.2 Tâm mặt nạ điểm lân cận 25 Hình 3.1 Form giao diện chương trình 38 Hình 3.2 Form chức thao tác với file ảnh 39 Hình 3.3 Form chức chỉnh sửa ảnh 39 Hình 3.4 Form chức đổi màu ảnh 40 Hình 3.5 Form tạo ảnh âm 40 Hình 3.6 Form tạo ảnh đen trắng 41 Hình 3.7 Form thay đổi độ sáng 41 Hình 3.8 Form thay đổi độ tương phản 41 Hình 3.9 Form thay đổi màu sắc 42 Hình 3.10 Form chức làm mịn ảnh 42 Hình 3.11 Form chức tìm biên ảnh theo Sobell, Prewitt, Kirsh 43 Hình 3.12 Form chức tìm biên ảnh theo horizontal vertical 43 Hình 3.13 Form chức zoom ảnh 44 Hình 3.14 Form chức xoay ảnh 44 Hình 3.15 Form chức xoay ảnh theo hình trịn 45 Hình 3.16 Form chức biến dạng ảnh theo hình cầu lồi 45 Hình 3.17 Form chức biến dạng ảnh theo hình sóng nước 45 MỞ ĐẦU Lý chọn đề tài Xử lý ảnh lĩnh vực mang tính khoa học cơng nghệ Nó ngành khoa học mẻ so với nhiều ngành khoa học khác tốc độ phát triển nhanh Hiện nay, trường đại học, cao đẳng xử lý ảnh trở thành môn học chuyên ngành sinh viên ngành công nghệ thông tin, viễn thông Xử lý nâng cao chất lượng ảnh vấn đề trọng tâm môn học xử lý ảnh đồng thời bước tiền xử lý cho việc nhận dạng, trích chọn thơng tin xử lý ảnh số Điều có ý nghĩa quan trọng nhiều ứng dụng thực tế tăng độ nét ảnh, làm biến dạng ảnh đó… Trên giới có nhiều cơng trình nghiên cứu nhiều quốc gia từ năm 1920 đến xử lý ảnh góp phần thúc đẩy tiến lĩnh vực lớn mạnh không ngừng Xử lý ảnh mảng quan trọng kỹ thuật thị giác máy tính tiền đề cho nhiều nghiên cứu thuộc lĩnh vực Hai nhiệm vụ trình xử lý ảnh nâng cao chất lượng hình ảnh xử lý số liệu, cung cấp cho q trình khác có việc ứng dụng thị giác điều khiển Quá trình việc thu nhận ảnh nguồn (từ thiết bị thu nhận ảnh dạng số tương tự) gửi đến máy tính Dữ liệu ảnh lưu trữ định dạng phù hợp với trình xử lý Người lập trình tác động thuật tốn tương ứng lên liệu ảnh nhằm thay đổi cấu trúc ảnh phù hợp với ứng dụng khác Chính em lựa chọn đề tài: “Một số kỹ thuật xử lý ảnh xây dựng chương trình mơ với ảnh JPG, BMP” để làm khóa luận Mục đích nghiên cứu - Nghiên cứu tổng quan lý thuyết xử lý ảnh (các thành phần hệ thống xử lý ảnh, khái niệm vấn đề liên quan, lọc ảnh, biên ảnh ) - Tìm hiểu số kỹ thuật xử lý ảnh - Xây dựng chương trình mơ với ảnh JPG, BMP Nhiệm vụ nghiên cứu - Tìm hiểu kỹ thuật xử lý ảnh xử lý điểm ảnh, làm mịn ảnh, tìm biên ảnh, biến dạng ảnh… - Xây dựng chương trình mơ ngôn ngữ C# số kỹ thuật xử lý ảnh với ảnh định dạng JPG BMP Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: Các kỹ thuật xử lý ảnh như: kỹ thuật sử dụng toán tử điểm, kỹ thuật lọc nhiễu, kỹ thuật phát biên ảnh - Phạm vi nghiên cứu: Khóa luận tìm hiểu số kỹ thuật xử lý ảnh như: Kỹ thuật tăng giảm độ sáng, tăng độ tương phản, biến đổi thành ảnh âm bản, ảnh đen trắng, kỹ thuật lọc nhiễu phát biên ảnh Các kỹ thuật xử lý ảnh ảnh định dạng JPG BMP Ý nghĩa khoa học thực tiễn đề tài Ý nghĩa khoa học: Xử lý ảnh đời, phát triển có sở khoa học vững Nghiên cứu góp phần chứng minh thêm tính đắn lý thuyết xử lý ảnh số Hiện nay, xử lý ảnh lĩnh vực chuyên gia nghiên cứu phát triển Ý nghĩa thực tiễn: Xây dựng chương trình thử nghiệm số kỹ thuật xử lý ảnh thành cơng góp phần nhỏ việc xử lý hình ảnh với thao tác làm biến đổi màu ảnh, làm mịn ảnh, tìm biên ảnh biến dạng hình ảnh Phương pháp nghiên cứu - Phương pháp nghiên cứu lý luận Nghiên cứu qua việc đọc sách, báo tài liệu liên quan nhằm xây dựng sở lý thuyết khóa luận biện pháp cần thiết để giải vấn đề khóa luận - Phương pháp chuyên gia Tham khảo ý kiến chuyên gia để thiết kế chương trình phù hợp với yêu cầu thực tiễn Nội dung xử lý nhanh đáp ứng yêu cầu ngày cao người sử dụng - Phương pháp thực nghiệm Thông qua quan sát thực tế, yêu cầu sở, lý luận nghiên cứu kết đạt qua phương pháp Cấu trúc khóa luận Ngồi phần lời cảm ơn, mở đầu, kết luận hướng phát triển, tài liệu tham khảo, khóa luận có nội dung sau: Chương 1: Tổng quan xử lý ảnh - Chương trình bày số kiến thức xử lý ảnh: Khái niệm xử lý ảnh, ứng dụng, bước xử lý ảnh trình bày số định dạng ảnh Chương 2: Một số kỹ thuật xử lý ảnh - Trong chương này, khóa luận trình bày số kỹ thuật xử lý ảnh Chương 3: Cài đặt chương trình mơ - Từ kiến thức nghiên cứu, khóa luận xây dựng chương trình mơ kỹ thuật xử lý ảnh ảnh JPG BMP Hình 3.9 Form thay đổi màu sắc 3.2.5 Chức làm mịn ảnh Là chức lọc nhiễu cho ảnh để tăng cường chất lượng ảnh Hình 3.10 Form chức làm mịn ảnh 3.2.6 Chức tìm biên ảnh a) Thuật tốn Sobell, Prewitt, Kirsh Với chức cho phép dò biên làm biên ảnh Bao gồm chức con: Sobel: Làm biên ảnh theo kỹ thuật Gradient sử dụng toán tử Sobel Prewitt: Làm biên ảnh theo kỹ thuật Garadient sử dụng toán tử Prewith Kirsh: Làm biên ảnh theo kỹ thuật Garadient sử dụng tốn tử Kirsh 42 Hình 3.11 Form chức tìm biên ảnh theo Sobell, Prewitt, Kirsh b) Tìm biên theo chiều ngang dọc Với chức cho phép dò biên làm biên ảnh theo chiều ngang chiều dọc phương pháp convolution Hình 3.12 Form chức tìm biên ảnh theo horizontal vertical 3.2.7 Chức zoom ảnh Chức cho phép phóng to hay thu nhỏ ảnh theo tỷ lệ cho (25%, 50%,100% ) 43 Hình 3.13 Form chức zoom ảnh 3.2.8.Chức biến dạng ảnh a) Xoay ảnh Hình 3.14 Form chức xoay ảnh 44 b) Xoay ảnh theo hình trịn Hình 3.15 Form chức xoay ảnh theo hình trịn c) Biến dạng ảnh theo hình cầu lồi Hình 3.16 Form chức biến dạng ảnh theo hình cầu lồi d) Biến dạng ảnh theo hình sóng nước Hình 3.17 Form chức biến dạng ảnh theo hình sóng nước 45 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Hình ảnh dạng liệu đóng vai trị quan trọng việc trao đổi, xử lý, lưu trữ thông tin… Việc xử lý ảnh, tăng cường chất lượng hình ảnh nhằm loại bỏ nhiễu hình ảnh sắc nét vấn đề mà nhà nghiên cứu quan tâm Khóa luận tìm hiểu số kỹ thuật xử lý ảnh xây dựng chương trình mơ đạt kết sau: + Khái niệm xử lý ảnh, vấn đề xử lý ảnh + Các định dạng ảnh + Kỹ thuật sử dụng toán tử điểm + Kỹ thuật lọc nhiễu ảnh + Kỹ thuật phát biên ảnh + Xây dựng chương trình mơ kỹ thuật xử lý ảnh với ảnh JPG BMP Xây dựng chương trình mơ việc xử lý hình ảnh kỹ thuật xử lý như: kỹ thuật sử dụng toán tử điểm, lọc nhiễu ảnh phát biên ảnh nên cần tiếp tục mở rộng nghiên cứu phát triển thêm nhiều kỹ thuật xử lý ảnh phức tạp hơn, cho chất lượng hình ảnh tốt giao diện dễ dàng sử dụng Khóa luận thực kỹ thuật xử lý với ảnh JPG BMP, cần tiếp tục xây dựng chương trình để xử lý với nhiều định dạng ảnh khác Các kỹ thuật xử lý ảnh trình bày khóa luận đời từ nhiều năm trước cần nghiên cứu cải tiến kỹ thuật để nâng cao việc xử lý chất lượng hình ảnh Mặc dù cố gắng nhiều thời gian có hạn khả cịn hạn chế nên chương trình chưa thực mong muốn Em mong đóng góp ý kiến thầy, giáo bạn để khóa luận em hoàn thiện 46 TÀI LIỆU THAM KHẢO Các tài liệu Tiếng Việt [1] Lương Mạnh Bá, Nguyễn Thanh Thủy, Nhập môn xử lý ảnh số Nxb Khoa học kỹ thuật, Hà Nội, 2002 [2] Đỗ Năng Toàn, Giáo trình xử lý ảnh Học viện Cơng nghệ Bưu Viễn Thông, 2013 [3] Nguyễn Quang Hoan, Xử lý ảnh Học viện Cơng nghệ Bưu Viễn Thơng, 2006 [4] Nguyễn Chí Hướng, Lập trình số tốn xử lý ảnh số Đồ án tốt nghiệp chuyên ngành Tin học, Đại học Mỏ – Địa chất, 2010 Các tài liệu Tiếng Anh [5] Dwayne Phillips R&D Publications, 2000 Image Processing in C – Second Edition Các tài liệu từ Internet [6] Website thư viện Mã nguồn: http://www.codepproject 47 PHỤ LỤC Một số hàm thủ tục 1.1 Mở file ảnh private void openToolStripMenuItem_Click(object sender, EventArgs e) { openFileDialog1.InitialDirectory = "C:\\"; openFileDialog1.Title = "Chọn File Ảnh"; openFileDialog1.Filter="Image File (*.bmp;*.jpg)|*.bm p; *.jpg|All File (*.*)|*.*"; openFileDialog1.RestoreDirectory = true; if(openFileDialog1.ShowDialog()==DialogResult.OK) { bmp = new Bitmap(openFileDialog1.FileName); this.AutoScroll = true; this.AutoScrollMinSize = new Size((int)(bmp.Width * Zoom), (int)(bmp.Height*Zoo m)); this.Invalidate(); } } 1.2 Lưu file ảnh private void saveToolStripMenuItem_Click(object sender, EventArgs e) { saveFileDialog1.InitialDirectory = "C:\\"; saveFileDialog1.Filter = "Bitmap(*.bmp)|*.bmp| Jpeg File (*.jpg)|*.jpg"; saveFileDialog1.RestoreDirectory = true; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { bmp.Save(saveFileDialog1.FileName); } 48 } 1.3 Hàm Undo ảnh private void undoToolStripMenuItem_Click(object sender, EventArgs e) { Bitmap temp = (Bitmap)bmp.Clone(); bmp = (Bitmap)undo.Clone(); undo = (Bitmap)temp.Clone(); this.Invalidate(); } 1.4 Hàm thực Zoom ảnh Ví dụ với trường hợp số zoom 25%, trường hợp khác tương tự private void toolStripMenuItem2_Click(object sender, Even tArgs e) { Zoom = 0.25; this.AutoScrollMinSize = new Size((int)(bmp.Width * Zoom), (int)(bmp.Height * Zo om)); this.Invalidate(); } 1.5 Hàm thực lọc trung vị public static bool Median(Bitmap b) { Bitmap b1 = (Bitmap)b.Clone(); BitmapData bmdata = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); BitmapData b1data = b1.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); int stride = bmdata.Stride; 49 int stride2 = stride * 2; ArrayList list; unsafe { byte* p = (byte*)bmdata.Scan0; byte* p1 = (byte*)b1data.Scan0; int nOffset = stride - b.Width * 3; int nWidth = b.Width - 2; //trừ rìa ảnh int nHeight = b.Height - 2; int nPixel; list = new ArrayList(); for (int y = 0; y < nHeight; ++y) { for (int x = 0; x < nWidth; ++x) { for (int i = 0; i < 3; ++i) { list.Add(p1[0]); list.Add(p1[3]); list.Add(p1[6]); list.Add(p1[0 + stride]); list.Add(p1[3 + stride]); list.Add(p1[6 + stride]); list.Add(p1[0 + stride2]); list.Add(p1[3 + stride2]); list.Add(p1[6 + stride2]); list.Sort(); nPixel = Convert.ToInt32(list[4]); if(nPixel255) nPixel=255; p[3 + stride] = (byte)nPixel; ++p; ++p1; list.Clear(); 50 } } p += nOffset; p1 += nOffset; } } b.UnlockBits(bmdata); return true; } 1.6 Hàm phát làm biên + Theo phương pháp gradient public static bool EdgedetectionConvolution(Bitmap b, sho rt nType) { mask3x3 m = new mask3x3(); Bitmap btemp = (Bitmap)b.Clone(); switch (nType) { case EDGE_DETECT_SOBEL: m.SetAll(0); m.TopLeft = m.BotLeft = 1; m.TopRight = m.BotRight = -1; m.MidLeft = 2; m.MidRight = -2; break; case EDGE_DETECT_PREWITT: m.SetAll(0); m.TopLeft = m.MidLeft = m.BotLeft = -1; m.TopRight = m.MidRight = m.BotRight = 1; break; case EDGE_DETECT_KIRSH: m.SetAll(-3); m.pixel = 0; m.TopLeft = m.MidLeft = m.BotLeft = 5; break; 51 } Image.ComplexFilter(b, m); switch (nType) { case EDGE_DETECT_SOBEL: m.SetAll(0); m.TopLeft = m.TopRight = 1; m.BotLeft = m.BotRight = -1; m.TopMid = 2; m.BotMid = -2; break; case EDGE_DETECT_PREWITT: m.SetAll(0); m.BotLeft = m.BotMid = m.BotRight = -1; m.TopLeft = m.TopMid = m.TopRight = 1; break; case EDGE_DETECT_KIRSH: m.SetAll(-3); m.pixel = 0; m.BotLeft = m.BotMid = m.BotRight = 5; break; } Image.ComplexFilter(btemp, m); BitmapData bmdata = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); BitmapData bmdata2 = btemp.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); int Stride = bmdata.Stride; unsafe { byte* p = (byte*)bmdata.Scan0; byte* p2 = (byte*)bmdata2.Scan0; int nOffset = Stride - b.Width * 3; 52 int nWidth = b.Width * 3; int npixel = 0; for (int y = 0; y < b.Height; ++y) { for (int x = 0; x < nWidth; ++x) { npixel = (int)Math.Sqrt((p[0] * p[0] + p2[0] * p2[0])); if (npixel < 0) npixel = 0; if (npixel > 255) npixel = 255; p[0] = (byte)npixel; ++p; ++p2; } p += nOffset; p2 += nOffset; } } b.UnlockBits(bmdata); btemp.UnlockBits(bmdata2); return true; + Theo kỹ thuật Laplace public static bool LaplaceH2(Bitmap b) { mask3x3 m = new mask3x3(); m.SetAll(-1); m.pixel = 8; Image.ComplexFilter(b, m); return true; } + Theo kỹ thuật gián tiếp public static bool Giantiep(Bitmap b,int n) { Bitmap b2 = (Bitmap)b.Clone(); BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, 53 PixelFormat.Format24bppRgb); BitmapData bmData2 = b2.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, PixelFormat.Format24bppRgb); int stride = bmData.Stride; System.IntPtr Scan0 = bmData.Scan0; System.IntPtr Scan02 = bmData2.Scan0; unsafe { byte* p = (byte*)(void*)Scan0; byte* p2 = (byte*)(void*)Scan02; int nOffset = stride - b.Width * 3; int nWidth = b.Width * 3; int nPixel = 0, nPixelMax = 0; p += stride; p2 += stride; for (int y = 1; y < b.Height - 1; ++y) { p += 3; p2 += 3; for (int x = 3; x < nWidth - 3; ++x) { nPixelMax = Math.Abs(p2[0] - (p2 + stride - 3)[0]); nPixel = Math.Abs(p2[0] (p2 + stride)[0]); if (nPixel > nPixelMax) nPixelMax = nPix el; nPixel = Math.Abs(p2[0] - (p2 + stride + 3)[0]); if (nPixel > nPixelMax) nPixelMax = nPix el; 54 nPixel = Math.Abs(p2[0] - (p2 stride)[0]); if (nPixel > nPixelMax) nPixelMax = nPix el; nPixel = Math.Abs(p2[0] - (p2 - 3)[0]); if (nPixel > nPixelMax) nPixelMax = nPix el; nPixel = Math.Abs(p2[0] - (p2 - stride - 3)[0]); if (nPixel > nPixelMax) nPixelMax = nPix el; nPixel = Math.Abs(p2[0] - (p2 + 3)[0]); if (nPixel > nPixelMax) nPixelMax = nPix el; nPixel = Math.Abs(p2[0] - (p2 - stride + 3)[0]); if (nPixel > nPixelMax) nPixelMax = nPix el; if (nPixelMax < n) nPixelMax = 0; p[0] = (byte)nPixelMax; ++p; ++p2; } p += + nOffset; p2 += + nOffset; } } b.UnlockBits(bmData); b2.UnlockBits(bmData2); 55 return true; } 56 ... NGỌC THƯ PHẠM THỊ NGỌC THƯ MỘT SỐ KỸ THUẬT XỬ LÝ ẢNH VÀ MỘT SỐ KỸ THUẬT XỬ LÝ ẢNH VÀ XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG VỚI ẢNH JPG, BMP VỚI ẢNH JPG, BMP KHÓA LUẬN TỐT... Chương 1: Tổng quan xử lý ảnh - Chương trình bày số kiến thức xử lý ảnh: Khái niệm xử lý ảnh, ứng dụng, bước xử lý ảnh trình bày số định dạng ảnh Chương 2: Một số kỹ thuật xử lý ảnh - Trong chương. .. luận trình bày số kỹ thuật xử lý ảnh Chương 3: Cài đặt chương trình mơ - Từ kiến thức nghiên cứu, khóa luận xây dựng chương trình mơ kỹ thuật xử lý ảnh ảnh JPG BMP CHƯƠNG TỔNG QUAN VỀ XỬ LÝ ẢNH