Xử lý ảnh và ứng dụng thư viện AForge NET
Mục lục 1 Mở đầu 3 2 Giới thiệu chung về xử lý ảnh 5 2.1 Tổng quan về xử lý ảnh . . . . . . . . . . . . . . . . . . . . 5 2.2 Các vấn đề cơ bản trong xử lý ảnh. . . . . . . . . . . . . . . 6 2.2.1 Các khái niệm . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2 Biểu diễn ảnh . . . . . . . . . . . . . . . . . . . . . . 10 2.2.3 Tăng cường ảnh . . . . . . . . . . . . . . . . . . . . . 13 2.2.4 Phân vùng ảnh . . . . . . . . . . . . . . . . . . . . . 13 2.2.5 Trích chọn đặc tính . . . . . . . . . . . . . . . . . . . 14 2.2.6 Nhận dạng ảnh . . . . . . . . . . . . . . . . . . . . . 14 2.2.7 Nén ảnh . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.8 Các định dạng ảnh cơ bản . . . . . . . . . . . . . . . 16 3 Một số bài toán về xử lý ảnh 18 3.1 Các bài toán cải thiện ảnh sử dụng toán tử điểm . . . . . . 18 3.2 Tăng độ tương phản (Stretching Contrast) . . . . . . . . . . 20 3.3 Tăng giảm độ sáng . . . . . . . . . . . . . . . . . . . . . . . 21 3.4 Cải thiện ảnh dùng toán tử không gian . . . . . . . . . . . . 22 1 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh 3.4.1 4.1 Làm trơn nhiễu bằng lọc tuyến tính: lọc trung tính và lọc dải thông thấp . . . . . . . . . . . . . . . 23 3.4.2 Làm trơn bằng nhiễu lọc phi tuyến . . . . . . . . . . 27 3.5 Bài toán về phát hiện biên ảnh . . . . . . . . . . . . . . . . 29 3.5.1 Một số khái niệm . . . . . . . . . . . . . . . . . . . . 29 3.5.2 Phân loại các kỹ thuật phát hiện biên . . . . . . . . . 29 3.5.3 Quy trình phát hiện biên . . . . . . . . . . . . . . . . 30 3.5.4 Các phương pháp phát hiện biên . . . . . . . . . . . 31 4 Giới thiệu về thư viện Aforge.NET và chương trình minh họa 36 Kết luận 42 Tài liệu tham khảo 43 2 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh Chương 1 Mở đầu Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ. Tại sao nói như vậy thì trong phần báo cáo của bài tập lớn này em hy vọng sẽ giúp mọi người hiểu rõ hơn về xử lý ảnh và những ứng dụng thực tiễn của nó mang lại. Xử lý ảnh là một nghành khoa học còn mới mẻ so với những nghành khoa học khác nhưng tốc độ phát triển của nó là rất nhanh, đặc biệt trong thời đại bùng nổ công nghệ thông tin hiện nay. Nó kích thích các trung tâm nghiên cứu, các ứng dụng và đặc biệt là các máy tính chuyên dụng hỗ trợ cho nó. Phương pháp xử lý ảnh bắt đầu từ việc nâng cao chất lượng hình ảnh và phân tích ảnh. Ứng dụng đầu tiên được biết đến đó là nâng cao chất lượng ảnh báo được truyền qua cáp London đến New York từ những năm 1920. Việc nâng cao chất lượng hình ảnh được phát triển khoảng từ năm 1955 và việc nâng cao đó hình ảnh đó liên quan đến mức phân bố mức sáng và độ phân giải của điểm ảnh. Sau những năm của thế chiến thứ II, máy tính phát triển nhanh tạo điều kiện cho việc xử lý ảnh số được thuận lợi. Năm 1964, máy tính đã có khả năng xử lý và nâng cao chất lượng hình ảnh từ Mặt trăng và vệ tinh Ranger 7 của Mỹ gồm làm nổi đường biên và lưu ảnh. Từ đó đến nay các phương tiện xử lý, nâng cao, nhận dạng 3 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh ảnh phát triển không ngừng. Các phương pháp tri thức nhân tạo như nhận diện khuôn mặt, mạng nơ-ron nhân tạo, các thuật toán xử lý hiện đại, các công cụ nén ảnh ngày càng được áp dụng rộng rãi và thu nhiều kết quả khả quan, ứng dụng rất nhiều vào thực tiễn. Trong những năm gần đây, phần cứng máy tính và các thiết bị liên quan đã có những tiến bộ vượt bậc tốc độ tính toán, dung lượng lưu trữ, khả năng xử lý v.v Khái niệm ảnh, ảnh số đã trở nên thông dụng và mọi người thu nhận hình ảnh bằng thiết bị cá nhân rồi đưa vào máy tính xử lý đã trở nên đơn giản hơn rất nhiều. Ở Việt Nam, xử lý ảnh đã được đưa vào giảng dạy ở bậc đại học, việc nghiên cứu xây dựng và phát triển các ứng dụng về lĩnh vực xử lý ảnh là một vấn đề mời và đang được quan tâm nhiều hơn. Xử lý ảnh là một lĩnh vực đang được quan tâm và trở thành môn học chuyên nghành của nhiều nghành công nghệ thông tin, toán tin trong nhiều trường đại học trên cả nước. Nhưng phần lớn giá trình tài liệu đều dưới dạng công thức toán, ít được thể hiện dưới dạng công thức có thể lập trình được. Vì vậy việc xây dựng thuật toán và lập trình một số cơ bản trong xử lý ảnh là rất cần thiết giúp cho việc nghiên cứu tìm hiểu về lý thuyết xử lý ảnh được trực quan sinh động hơn. Vì vậy bài báo cáo này em xin giành để giới thiệu về xử lý ảnh, gói thư viện xử lý ảnh trong C# đó là Aforge.NET các hàm trong thư viện đó và một số ứng dụng đơn giản về xử lý ảnh trong thư viện này. 4 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh Chương 2 Giới thiệu chung về xử lý ảnh 2.1 Tổng quan về xử lý ảnh Quá trình xử lý ảnh được xem như là thao tác đầu vào nhằm cho ra kết quả mong muốn. Để có hình dung quá trình một hệ thống xử lý ảnh ta có thể xem xét các bước cần thiết sau trong xử lý ảnh. 5 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh Hình 1.1 Các giai đoạn chính trong xử lý ảnh. Trước hết là quá trình thu nhận ảnh, ảnh có thể thu nhận qua camera. Thường ảnh thu nhận qua camera là tín hiệu tương tự (loại camera ống kiểu CCIR), nhưng cũng có thể là tín hiệu số hóa (loại CCD-Charge Coupled Device). Ngoài ra, ảnh cũng có thể nhận từ vệ tinh qua các bộ cảm ứng (sensor) hay ảnh, tranh được quét trên scanner. Tiếp theo là quá trính số hóa (digitalizer) để biến đổi tín hiệu tương tự sang tín hiệu rời rạc (lấy mẫu) và số hóa bằng lượng tử hóa, trước khi chuyển sang giai đoạn xử lý, phân tích hay lưu trữ lại. Quá trình phân tích ảnh thực chất bao gồm nhiều công đoạn nhỏ, trước hết là công viêc tăng cường ảnh. Do những nguyên nhân khác nhau: có thể do chất lượng thiết bị thu nhận ảnh, do nguồn sáng hay do nhiễu mà ảnh có thể bị suy biến. Do vậy cần phải tăng cường khôi phục ảnh để làm nổi bật một số đặc tính của ảnh, hay làm gần giống với trạng thái gốc-trạng thái trước khi ảnh bị biến dạng. Giai đoạn tiếp theo là phát hiện các đặc tính như: biên, phân vùng ảnh, trích chọn các đặc tính,v.v Cuối tùy theo mục đích của ứng dụng mà sẽ là giai đoạn nhận dạng, phân lớp hay các quyết định khác. 2.2 Các vấn đề cơ bản trong xử lý ảnh. 2.2.1 Các khái niệm Điểm ảnh (pixel element) Gốc của ảnh là ảnh liên tục về không gian và độ sáng. Để xử lý bằng máy tính ảnh cần phải được số hóa. Số hóa ảnh là sự biển đổi gần đúng một ảnh liên tục thành một tập hợp điểm phù hợp với ảnh thật về vị trí ( không gian) và độ sáng (mức xám). Khoảng cách giữa các điểm ảnh đó được thiết 6 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh lập sao cho mắt người không phân biệt được ranh giới giữa chúng. Mỗi điểm như vậy gọi là điểm ảnh (PEL: Picture Element) hay gọi tắt là pixel. Trong khuôn khổ ảnh 2 chiều, mỗi pixel ứng với mỗi cặp tọa độ (x,y). Độ phân giải của ảnh Độ phân giải (Resolution) của ảnh là mật độ điểm ảnh được ấn định trên một ảnh số được hiển thị. Theo định nghĩa khoảng cách giữa các điểm ảnh phải được chọn sao cho mắt người vẫn thấy sự liên tục của ảnh. Việc lựa chọn khoảng cách thích hợp tạo nên một mật độ phân bổ, đó chính là độ phân giải được phân bố theo trục x và y trong không gian hai chiều. Ví dụ: Độ phân giải trên màn hình Smartphone VGA là 800*480 ( tức là 800 điểm ảnh chiều học*480 điểm ảnh chiều ngang) thì thấy với màn hình 4” thấy mịn hơn màn hình 5”. Lý do là cùng một mật độ nhưng diện tích màn hình rộng hơn thì độ mịn kém hơn (tức là liên tục các điểm). Mức xám của ảnh (Gray level) Là kết quả của sự biến đổi tương ứng một giá trị độ sáng của một điểm ảnh với một giá trị nguyên dương. Thông thường được xác định trong khoảng [0 255]. Tùy thuộc vào giá trị xám mà mỗi điểm ảnh được biểu diễn trên 1, 4, 8, 24 hay 32 bit. Ảnh số Là tập hợp hữu hạn các điểm ảnh, thường được biểu diễn bằng một mảng hai chiều I(m,n) với m là số hàng, n là số cột. Ta ký hiệu P(x,y) là một điểm ảnh tại vị trí (x, y). Số lượng điểm ảnh trên mỗi hàng hoặc các hàng xác định độ phân giải của ảnh. Ảnh số được chia làm 3 loại: • Ảnh nhị phân: Giá trị xám của tất cả các điểm ảnh chỉ nhận 0 hoặc 7 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh 1. Như vậy thì mỗi điểm ảnh trong ảnh nhị phân được biểu diễn bởi 1 bit. • Ảnh xám: Giá trị xám nằm trong khoảng 0 đến 255, mỗi điểm ảnh trong ảnh xám được biểu diễn bởi 1 byte. • Ảnh màu: ảnh màu theo lý thuyết của Thomas là ảnh tổ hợp từ 3 màu cơ bản: R (Red), G (Green), B (BLue) và thường thu nhận trên các dãi băng tần khác nhau. Với ảnh màu cách biểu diễn cũng tương tự như ảnh đen trắng chỉ khác là các số tại mỗi phần tử của ma trận. Người ta dùng 3 byte để mô tả mức màu, khi đó các giá trị màu : 2 8∗3 = 2 24 = 16,7 triệu màu. Quan hệ giữa các điểm ảnh. Một ảnh số giả sử được biểu diễn bằng hàm f (x,y) • Lân cận của một điểm ảnh Một điểm ảnh p tại tọa độ (x, y) có các lân cận theo chiều ngang và chiều dọc là: (x+1, y), (x-1, y), (x, y+1), (x, y-1). Tập hợp các điểm ảnh trên được gọi là lân cận 4 của p, ký hiệu N 4 (p). Mỗi điểM ảnh có khoảng cách đơn vị đến (x, y), và nếu (x, y) nằm trên biên của ảnh thì lân cận của nó có thể nằm ngoài ảnh. Các lân cận chéo của p có tọa độ: (x+1, y+1), (x+1, y-1), (x-1, y+1), (x-1, y-1). Tập lân cận chéo được ký hiệu N D (p). Tập lân cận chéo cùng với lân cận 4 tạo thành lân cận 8 của p, ký hiệu N 8 (p). 8 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh Hình 1.2 Lân cận của 1 điểm ảnh • Liên kết giữa các điểm ảnh Các Mối liên kết được sử dụng để xác định giới hạn ( Boundaries) của đối tượng vật thể hoặc xác định vùng trong một ảnh. Một liên kết được đặc trưng bởi tính liền kề giữa các điểm và mức xám của chúng. Giả sử V là tập các giá trị mức xám. Một ảnh có các giá trị cường độ sáng từ thang mức xám từ 32 đến 64 được mô tả như sau: V={32, 33, . . . 63, 64}. Có 3 loại liên kết: + Liên kết 4: Hai điểm ảnh p và q với các giá trị cường độ sáng V được nói là liên kết 4 nếu q nằm trong tập N 4 (p). + Liên kết 8:Hai điểm ảnh p và q với các giá trị cường độ sáng V được gọi là liên kết 8 nếu q nằm trong tập N 8 (p). + Liên kết m (liên kết hỗn hợp):Hai điểm ảnh p và q với các giá trị cường độ sáng V được nói là liên kết m nếu: q thuộc N 4 (p)hoặc q thuộc N D (p). Lược đồ mức xám (Histogram) Lược đồ mức xám của ảnh là một hàm cung cấp tuần suất xuất hiện của mỗi mức xám trong ảnh. Lược đồ mức xám được biểu diễn trong hệ tọa độ Decac xOy, trong đó Ox biểu diễn các mức xám của ảnh (256 mức trong trường hợp chúng ta xét), Oy biểu diễn số điểm ảnh cho một mức xám (số điểm ảnh có cùng mức xám). 9 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh Lược đồ mức xám cung cấp rất nhiều thông tin về sự phân bố mức xám của ảnh. Theo thuật ngữ của xử lý ảnh gọi là tính động của ảnh, tính động của ảnh cho phép phân tích một khoảng nào đó phân bố phần lớn các mức xám của ảnh: ảnh rất sáng hay rất đậm. Nếu ảnh sáng, lược đồ xám nằm bên phải (mức xám cao), còn ảnh đậm thì lược đồ xám nằm bên trái (mức xám thấp). Hình 1.3 Hình ảnh biểu diễn lược đồ xám của một bức ảnh. 2.2.2 Biểu diễn ảnh Ảnh sau khi số hoá sẽ được lưu vào bộ nhớ, hoặc chuyển sang các khâu tiếp theo để phân tích. Nếu lưu trữ ảnh trực tiếp từ các ảnh thô, đòi hỏi dung lượng bộ nhớ cực lớn và không hiệu quả theo quan điểm ứng dụng và công nghệ. Thông thường, các ảnh thô đó được đặc tả (biểu diễn) lại (hay đơn giản là mã hoá) theo các đặc điểm của ảnh được gọi là các đặc trưng ảnh (Image Features) như: biên ảnh (Boundary), vùng ảnh (Region). Một 10 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh [...]... cứu trong các lĩnh vực của máy tính và trí tuệ nhân tạo - xử lý ảnh, mạng nơ-ron, thuật toán di truyền, logic mờ, robot Bao gồm các bộ thư viện, các ứng dụng mẫu và tính năng riêng của từng thư viện: • AForge. Imaging - thư viện xử lý ảnh và các bộ lọc • AForge. Vision - thư viện thị giác máy tính • AForge. Neuro - mạng nơ-ron thư viện tính toán • AForge. Genetic - thư viện lập trình tiến hóa 36 ... thức trên ảnh gốc hay ảnh đã thực hiện phép lọc Laplace Cách tiếp cận tối ưu nhằm xác định một hàm (một bộ lọc), làm giảm phương sai σ 2 hoặc giảm một số điểm cực trị cục bộ 35 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh Chương 4 Giới thiệu về thư viện Aforge. NET và chương trình minh họa • Thư viện AForge. NET AForge. NET là một thư viện mã nguồn mở mạnh dành của C# thiết kế cho các nhà phát triển và nhà nghiên... một số dữ liệu trong ảnh • Ảnh GIF bị giới hạn bởi số Màu nhiều nhất là 256 trong khi ảnh JPEG không giới hạn số màu mà chúng sử dụng 17 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh Chương 3 Một số bài toán về xử lý ảnh 3.1 Các bài toán cải thiện ảnh sử dụng toán tử điểm Xử lý điểm ảnh thực chất là biến đổi một giá trị điểm ảnh dựa vào đặc tính của chính nó mà không hề dựa vào các điểm ảnh khác Có hai cách... là tốc độ vẽ và tốc độ xử lý nhanh Nhược điểm của nó là kích thư c rất lớn 16 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh Ảnh JPEG (Joint Photographic Experts Group) Đây là một định dạng ảnh được hỗ trợ bởi nhiều trình duyệt web Ảnh JPEG được phát triển để nén dung lượng và lưu trữ ảnh chụp, và được sử dụng tốt nhất cho đồ họa có nhiều Màu sắc, ví dụ như là ảnh chụp được scan File Ảnh JPEG là ảnh Bitmap đã... nhân thư ng phân bố khắp ảnh và ảnh thu được sẽ được biểu diễn bởi công thức : Xqs = Xgoc ∗ η • Nhiễu xung : Nhiễu xung thư ng gây đột biến tại một số điểm ảnh 3.4.1 4.1 Làm trơn nhiễu bằng lọc tuyến tính: lọc trung tính và lọc dải thông thấp Do có nhiều loại nhiễu can thiệp vào quá trình xử lý ảnh nên cần có nhiều bộ lọc thích hợp Với nhiễu cộng và nhiễu nhân ta dùng các bộ lọc 23 ĐỒ ÁN 3: Xử lý ảnh. .. thuật nén này • Nén ảnh Fractal: Sử dụng tính chất Fractal của các đối tượng ảnh, thể hiện sự lặp lại của các chi tiết Kỹ thuật nén sẽ tính toán để chỉ 15 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần Tuấn Vinh cần lưu trữ phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fractal 2.2.8 Các định dạng ảnh cơ bản Ảnh thu được sau quá trình số hóa thư ng được lưu lại cho các quá trình xử lý tiếp theo hay truyền đi Trong... nén lại Ảnh GIF (Graphics Interchange Format) Ảnh GIF được phát triển dành cho những ảnh có tính chất thay đổi Nó được sử dụng tốt nhất cho đồ họa có ít màu, ví dụ như là ảnh hoạt hình hoặc là những bức vẽ với nhiều đường thẳng File ảnh GIF là những ảnh Bitmap được nén lại Có hai sự khác nhau cơ bản giữa ảnh GIF và ảnh JPEG: • Ảnh GIF nén lại theo cách giữ nguyên toàn bộ dữ liệu ảnh trong khi ảnh JPEG... Laplace: Đầu vào: ma trận ảnh cần tìm biên: mặt nạ H2 Đầu ra: Một ma trận ảnh (chứa các đường biên được tìm thấy) Giải thuật For (mỗi điểm ảnh của ảnh) if(Nếu điểm ảnh nẳm trên đường viền ảnh) Gán giá trị các điểm ảnh trên đường viền ảnh =0 (hoặc bằng màu nền ảnh) else { + Tính xấp xỉ Laplace G: nhân chập với mặt nạ H2 + Nếu giá trị điểm ảnh lớn hơn chỉ số màu của ảnh thì gán giá trị ảnh là giá trị... Số liệu ảnh được mã hóa bởi kiểu mã hóa chỉ ra trong phần Header • Bảng Màu (Palette Color) Bảng màu không nhất thiết phải có, ví dụ khi ảnh là đen trắng Nếu có, bảng màu cho biết số màu dùng trong ảnh và bảng màu được sử dụng để hiện thị màu của ảnh Ảnh BMP (Bitmap) Là ảnh được mô tả bởi một ma trận các giá trị số xác định màu và bảng màu của các điể ảnh tương ứng khi hiển thị Ưu điểm của ảnh Bitmap... khi xem xét chi tiết các kỹ thuật áp dụng, cần phân biệt các loại nhiễu hay can thiệp trong quá trình xử lý ảnh Trên thực tế tồn tại nhiều loại nhiễu; tuy nhiên người ta thư ng xem xét 3 loại nhiễu chính: nhiễu cộng, nhiễu nhân và nhiễu xung: • Nhiễu cộng : Nhiễu cộng thư ng được phân bố khắp ảnh Nếu gọi ảnh quan sát (ảnh thu nhận) Xqs , ảnh gốc là Xgoc , nhiễu là η ảnh thu được biểu diễn bởi: Xqs = Xgoc . giới thiệu về xử lý ảnh, gói thư viện xử lý ảnh trong C# đó là Aforge. NET các hàm trong thư viện đó và một số ứng dụng đơn giản về xử lý ảnh trong thư viện này. 4 ĐỒ ÁN 3: Xử lý ảnh Sv: Trần. năng xử lý v.v Khái niệm ảnh, ảnh số đã trở nên thông dụng và mọi người thu nhận hình ảnh bằng thiết bị cá nhân rồi đưa vào máy tính xử lý đã trở nên đơn giản hơn rất nhiều. Ở Việt Nam, xử lý ảnh. thiệu chung về xử lý ảnh 2.1 Tổng quan về xử lý ảnh Quá trình xử lý ảnh được xem như là thao tác đầu vào nhằm cho ra kết quả mong muốn. Để có hình dung quá trình một hệ thống xử lý ảnh ta có thể