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

Xử lý ảnh mờ và xây dựng chương trình ứng dụng

53 1,2K 2

Đ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 53
Dung lượng 2,28 MB

Nội dung

Phạm vi nghiên cứu Xử lý ảnh mờ được xây dựng để ứng dụng cho các thiết bị xử lý ảnh và có thể được áp dụng trong lĩnh vực xử lý ảnh.. Hình 1.1: Quá trình xử lý ảnh Ảnh có thể xem là tập

Trang 1

LỜI CẢM ƠN

Để hoàn thành khóa luận tốt nghiệp này em đã nhận được sự giúp đỡ nhiệt tình của các thầy, cô giáo và các bạn đặc biệt là sự giúp đỡ nhiệt tình của PGS.TS Lê Huy Thập

Em cũng xin cảm ơn cô giáo Th.S Lưu Thị Bích Hương về những góp ý

và hướng dẫn rất hữu ích trong quá trình thực hiện đề tài

Em cũng gửi lời cám ơn tới các thầy, cô giáo khoa Công nghệ thông tin trường Đại học sư phạm Hà Nội 2 đã tận tình dạy dỗ chúng em trong suốt bốn năm học tại trường

Mặc dù em đã rất cố gắng nhưng do thời gian có hạn nên bài khóa luận của em không tránh khỏi những thiếu sót Em mong nhận được sự đóng góp của thầy, cô giáo và các bạn để khóa luận của em được hoàn thiện hơn

Em xin chân thành cảm ơn!

Hà Nội, tháng 5 năm 2013

Sinh viên

Trần Thị Hoa

Trang 2

LỜI CAM ĐOAN Tên em là: TRẦN THỊ HOA

Sinh viên lớp: K35 – Tin học, khoa Công nghệ thông tin, trường Đại học

sư phạm Hà Nội 2

Em xin cam đoan:

1 Đề tài: “Xử lý ảnh mờ và xây dựng chương trình ứng dụng” là sự nghiên cứu của riêng em, dưới sự hướng dẫn của thầy giáo PGS.TS Lê Huy Thập

2 Khóa luận hoàn toàn không sao chép của tác giả nào khác

Nếu sai em xin hoàn toàn chịu trách nhiệm

Hà Nội, tháng 5 năm 2013 Người cam đoan

Trần Thị Hoa

Trang 3

DANH MỤC TỪ VIẾT TẮT

Trang 4

DANH MỤC CÁC HÌNH VẼ VÀ BẢNG Hình 1.1: Quá trình xử lý ảnh

Hình 1.2: Các bước cơ bản trong một hệ thống xử lý ảnh

Hình 1.3: Ảnh thu nhận và ảnh mong muốn

Hình 1.4: Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB Hình 1.5: Sự chuyển đổi giữa các mô hình biểu diễn ảnh

Hình 1.6: Giao diện làm việc chính

Hình 1.7: Cửa sổ Command Window

Hình 1.8: Cửa sổ command History

Hình 1.9: Cửa sổ Workspace

Hình 1.10: Cửa sổ Variable Editor

Hình 1.11: Cửa sổ M-file

Hình 2.1: Mô hình hóa sự khôi phục lại ảnh gốc

Hình 3.1: Giao diện ban đầu của chương trình

Hình 3.2: Giao diện sau khi chọn xong ảnh để làm mờ

Hình 3.3: Giao diện khi ảnh bị mờ

Hình 3.4: Giao diện khi lưu ảnh

Hình 3.5: Giao diện sau khi chọn ảnh cần khử mờ

Hình 3.6: Giao diện khi ảnh đã được khử mờ

Bảng 1.1: Các thông tin của một file ảnh

Trang 5

MỤC LỤC LỜI CẢM ƠN

LỜI CAM ĐOAN

DANH MỤC CÁC HÌNH VẼ VÀ BẢNG

MỞ ĐẦU 1

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 4

1.1 Xử lý ảnh, các vấn đề trong xử lý ảnh 4

1.1.1 Xử lý ảnh là gì 4

1.1.2 Các vấn đề cơ bản trong xử lý ảnh 5

1.2 Thu nhận và biểu diễn ảnh 10

1.2.1 Thu nhận, các thiết bị thu nhận ảnh 10

1.2.2 Biểu diễn ảnh 10

1.3 Giới thiệu chung về Matlab 14

1.3.1 Cấu trúc dữ liệu và ứng dụng 14

1.3.2 Môi trường làm việc của Matlab 16

1.3.3 Đọc và ghi dữ liệu ảnh 19

1.3.4 Xem lớp lưu trữ của file 21

1.3.5 Truy vấn một file đồ hoạ 22

1.3.6 Chuyển đổi định dạng các file ảnh 22

1.3.7 Các hàm chuyển đổi kiểu ảnh 22

CHƯƠNG 2: XỬ LÝ ẢNH MỜ 24

2.1 Ảnh mờ 24

2.1.1 Định nghĩa ảnh mờ 24

2.1.2 Nguyên nhân ảnh bị mờ 24

2.2 Khôi phục ảnh mờ 25

2.2.1 Sơ đồ quá trình khôi phục ảnh mờ 25

2.2.2 Các phương pháp khôi phục ảnh mờ 28

CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 35

Trang 6

3.1 Giới thiệu bài toán 35

3.2 Thiết kế chương trình 36

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 39

1 Kết luận 39

2 Hướng phát triển nghiên cứu 39

TÀI LIỆU THAM KHẢO 41 PHỤ LỤC

Trang 7

MỞ ĐẦU

1 Lý do chọn đề tài

Xử lý ảnh là một lĩnh vực mang tính khoa học và công nghệ Nó là một ngành khoa học mới mẻ so với nhiều ngành khoa học khác nhưng tốc độ phát triển của nó rất nhanh, kích thích các trung tâm nghiên cứu, ứng dụng, đặc biệt là máy tính chuyên dụng riêng cho nó

Xử lý ảnh được đưa vào giảng dạy ở bậc đại học ở nước ta khoảng chục năm nay Nó là môn học liên quan đến nhiều lĩnh vực và cần nhiều kiến thức

cơ sở khác Đầu tiên phải kể đến Xử lý tín hiệu số là một môn học hết sức cơ bản cho xử lý tín hiệu chung, các khái niệm về tích chập, các biến đổi Fourier, biến đổi Laplace, các bộ lọc hữu hạn…Thứ hai, các công cụ toán như Đại số tuyến tính, sác xuất thống kê Một số kiến thứ cần thiết như Trí tuệ nhân tạo, Mạng nơron nhân tạo cũng được đề cập trong quá trình phân tích và nhận dạng ảnh

Mục tiêu chính của xử lý ảnh là làm sao truyển được nhiều ảnh, nén được nhiểu phục vụ cho nhu cầu giải trí, nghiên cứu và trao đổi thông tin ngày càng cao của con người, nhất là nhu cầu về truyền ảnh và nén ảnh Sau khi biến đổi ảnh thành các màng dữ liệu và xử lý chúng, và để thu được kết quả của sự phân tích và xử lý, cần khôi phục lại ảnh từ các mảng dữ liệu đã được xử lý hay truyền dẫn Trong quá trình xử lý và truyền dẫn mảng dữ liệu ảnh thì tất nhiên sẽ có nhiều tín hiệu ngẫu nhiên của đường truyền hay của môi trường xung quanh làm hư hại ảnh Vì vậy, để khôi phục lại ảnh có chất lượng tốt, nhất thiết phải bỏ những tín hiệu đó Một câu hỏi được đặt ra là: vậy làm thế nào để khôi phục, loại bỏ nhiễu? Để trả lời câu hỏi này em đã chọn đề tài “Xử lý ảnh mờ và xây dựng chương trình ứng dụng” viết bằng ngôn ngữ Matlab để khôi phục lại những ảnh bị mờ do nhiễu

Trang 8

2 Mục đích và nhiệm vụ nghiên cứu

Nghiên cứu “Xử lý ảnh mờ và xây dựng chương trình ứng dụng” nhằm

để khôi phục lại những ảnh đã bị mờ do nhiễu hay bị hư hại bằng các bộ lọc khác nhau

Để đạt được mục đích trên thì có ba nhiệm vụ đặt ra như sau:

- Tìm hiểu các nguyên nhân mờ ảnh

- Tìm hiểu các phương pháp khôi phục ảnh bị mờ

- Xây dựng chương trình ứng dụng

3 Đối tượng nghiên cứu

Đối tượng nghiên cứu là các phương pháp khử mờ ảnh Đồng thời cũng tìm hiểu thêm các phương pháp làm mờ nhằm mục đích khử những ảnh bị mờ làm cho chúng rõ hơn

4 Phạm vi nghiên cứu

Xử lý ảnh mờ được xây dựng để ứng dụng cho các thiết bị xử lý ảnh và

có thể được áp dụng trong lĩnh vực xử lý ảnh Trong phạm vi đề tài của em đi nghiên cứu xử lý ảnh để khôi phục lại những ảnh đã bị mờ

5 Phương pháp nghiên cứu

a Phương pháp nghiên cứu lý luận

Nghiên cứu qua việc đọc sách, báo và các tài liệu liên quan nhằm xây dựng cơ sở lý thuyết của đề tài và các biện pháp cần thiết để giải quyết các vấn đề của đề tài

b Phương pháp chuyên gia

Tham khảo ý kiến của các chuyên gia để có thể 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 được yêu cầu ngày càng cao của người sử dụng

c Phương pháp thực nghiệm

Thông qua quan sát thực tế, yêu cầu của cơ sở, những lý luận được nghiên cứu và kết quả đạt được qua những phương pháp trên

Trang 9

6 Ý nghĩa khoa học và thực tiễn

Ý nghĩa khoa học: Xử lý ảnh mờ được nghiên cứu, phát triển dựa trên những cơ sở khoa học vững chắc góp phần cho sự phát triển của ngành xử lý ảnh nói riêng và các lĩnh vực khoa học nói chung Hiện nay xử lý ảnh là một lĩnh vực được các chuyên gia nghiên cứu và phát triển

Ý nghĩa thực tiễn: Chương trình xử lý ảnh mờ nếu thành công thì nó

sẽ đóng góp phần nhỏ cho xử lý ảnh mờ, nghiên cứu và trao đổi thông tin ngày càng cao của con người

7 Cấu trúc của khóa luận

Ngoài phần mở đầu, kết luận và hướng phát triển nghiên cứu, tài liệu tham khảo và phụ lục, nội dung chính của khóa luận gồm ba chương:

Chương 1: Cơ sở lý thuyết

Chương 2: Xử lý ảnh mờ

Chương 3: Thiết kế chương trình

Trang 10

XỬ LÝ ẢNH Ảnh

Ảnh “tốt hơn”

Hậu xử

Đối sánh rút ra kết luận

Hệ quyết định

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT1.1 Xử lý ảnh, các vấn đề trong xử lý ảnh

1.1.1 Xử lý ảnh là gì

Con người thu nhận thông tin qua các hình giác quan, trong đó thì thị giác đóng vai trò quan trọng nhất Những năm trở lại đây với sự phát triển của phần cứng máy tính, xử lý ảnh và đồ họa đã phát triển một các mạnh mẽ và có nhiều ứng dựng trong cuộc sống Xử lý ảnh và đồ họa đóng vai trò quan trọng trong tương tác người máy

Quá trình xử lý ảnh được xem như là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn Kết quả đầu ra của một quá trình xử lý có thể là một ảnh có thể là một ảnh “tốt hơn” hoặc một kết luận

Hình 1.1: Quá trình xử lý ảnh Ảnh có thể xem là tập hợp các điểm ảnh và mỗi điểm ảnh được xem như

là đặc trưng cường độ sáng hay một dấu hiệu nào đó tại một vị trí nào đó của đối tượng trong không gian và nó có thể xem như một hàm n biến P(c1,

c2,…,cn) Do đó, ảnh trong xử lý ảnh có thể xem như ảnh n chiều

Sơ đồ tồng quát của một hệ thống xử lý ảnh:

Hình 1.2: Các bước cơ bản trong một hệ thống xử lý ảnh

Trang 11

1.1.2 Các vấn đề cơ bản trong xử lý ảnh

a Điểm ảnh (Picture Element)

Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để

xử lý bằng máy tính (số), ảnh cần phải được số hoá Số hoá ảnh là sự biến đổi gần đúng một ảnh liên tục thành một tậ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 lập sao cho mắt người không phân biệt được ranh giới giữa chúng Mỗi một đ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 hai chiều, mỗi pixel ứng với cặp tọa độ (x, y)

Định nghĩa: Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặc màu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu) của ảnh số gần như ảnh thật Mỗi phần tử trong

ma trận được gọi là một phần tử ảnh

b Độ phân giải của ảnh

Định nghĩa: Độ 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 được 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 và được phân

bố theo trục x và y trong không gian hai chiều

Ví dụ: Độ phân giải của ảnh trên màn hình CGA (Color Graphic Adaptor) là một lưới điểm theo chiều ngang màn hình: 320 điểm chiều dọc *

200 điểm ảnh (320*200) Rõ ràng, cùng màn hình CGA ‘thì màn hình CGA12 mịn hơn màn hình CGA 17” độ phân giải 320*200 Lý do: cùng một mật độ (độ phân giải) nhưng diện tích màn hình rộng hơn thì độ mịn (liên tục của các điểm) kém hơn

Trang 12

c Mức xám của ảnh

Một điểm ảnh (pixel) có hai đặc trưng cơ bản là vị trí (x, y) của điểm ảnh

và độ xám của nó Dưới đây là một số khái niệm và thuật ngữ thường dùng trong xử lý ảnh

 Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nó được gán bằng giá trị số tại điểm đó

 Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức

256 là mức phổ dụng Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức xám: Mức xám dùng 1 byte biểu diễn: 28=256 mức, tức là từ 0 đến 255)

 Ảnh đen trắng: là ảnh có hai màu đen, trắng (không chứa màu khác) với mức xám ở các điểm ảnh có thể khác nhau

 Ảnh nhị phân: ảnh chỉ có 2 mức đen trắng phân biệt tức dùng 1 bit mô

tả 21 mức khác nhau Nói cách khác: mỗi điểm ảnh của ảnh nhị phân chỉ có thể là 0 hoặc 1

 Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạo nên thế giới màu, thường dùng 3 byte để mô tả mức màu, khi đó các giá trị màu: 28*3=224≈ 16,7 triệu màu

d Định nghĩa ảnh số

Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật

e Khử nhiễu

Có 2 loại nhiễu cơ bản trong quá trình thu nhận ảnh:

 Nhiễu hệ thống: là nhiễu có quy luật có thể khử bằng các phép biến đổi

 Nhiễu ngẫu nhiên: vết bẩn không rõ nguyên nhân → khắc phục bằng các phép lọc

Trang 13

f Chỉnh mức xám

Nhằm khắc phục tính không đồng đều của hệ thống gây ra Thông thường có 2 hướng tiếp cận:

 Giảm số mức xám: Thực hiện bằng cách nhóm các mức xám gần nhau thành một bó Trường hợp chỉ có 2 mức xám thì chính là chuyển về ảnh đen trắng Ứng dụng: in ảnh màu ra máy in đen trắng

 Tăng số mức xám: Thực hiện nội suy ra các mức xám trung gian bằng kỹ thuật nội suy Kỹ thuật này nhằm tăng cường độ mịn cho ảnh

g Trích chọn đặc điểm

Các đặc điểm của đối tượng được trích chọn tuỳ theo mục đích nhận dạng trong quá trình xử lý ảnh Có thể nêu ra một số đặc điểm của ảnh sau đây:

Đặc điểm không gian: Phân bố mức xám, phân bố xác suất, biên độ, điểm uốn v.v…

Đặc điểm biến đổi: Các đặc điểm loại này được trích chọn bằng việc thực hiện lọc vùng (zonal filtering) Các bộ vùng được gọi là “mặt nạ đặc điểm” (feature mask) thường là các khe hẹp với hình dạng khác nhau (chữ nhật, m giác, cung tròn v.v…)

Đặc điểm biên và đường biên: Đặc trưng cho đường biên của đối tượng

và do vậy rất hữu ích trong việc trích trọn các thuộc tính bất biến được dùng khi nhận dạng đối tượng Các đặc điểm này có thể được trích chọn nhờ toán tử gradient, toán tử la bàn, toán tử Laplace…

Việc trích chọn hiệu quả các đặc điểm giúp cho việc nhận dạng các đối tượng ảnh chính xác, với tốc độ tính toán cao và dung lượng nhớ lưu trữ giảm xuống

h Nhận dạng

Nhận dạng tự động (automatic recognition), mô tả đối tượng, phân loại và phân nhóm các mẫu là những vấn đề quan trọng trong thị giác máy,

Trang 14

được ứng dụng trong nhiều ngành khoa học khác nhau Tuy nhiên, một câu hỏi đặt ra là: mẫu (pattern) là gì? Wanabe, một trong những người đi đầu trong lĩnh vực này đã định nghĩa: “Ngược lại với hỗn loạn (chaos), mẫu là một thực thể (entity), được xác định một cách ang áng (vaguely defined) và

có thể gán cho nó một tên gọi nào đó” Ví dụ mẫu có thể là ảnh của vân y, ảnh của một vật nào đó được chụp, một chữ viết, khuôn mặt người hoặc một ký đồ tín hiệu tiếng nói Khi biết một mẫu nào đó, để nhận dạng hoặc phân loại mẫu đó có thể:

Hoặc phân loại có mẫu (supervised classification), chẳng hạn phân tích phân biệt (discriminant analyis), trong đó mẫu đầu vào được định danh như một thành phần của một lớp đã xác định

Hoặc phân loại không có mẫu (unsupervised classification hay clustering) trong đó các mẫu được gán vào các lớp khác nhau dựa trên một tiêu chuẩn đồng dạng nào đó Các lớp này cho đến thời điểm phân loại vẫn chưa biết hay chưa được định danh

Hệ thống nhận dạng tự động bao gồm ba khâu tương ứng với ba giai đoạn chủ yếu sau đây:

1 Thu nhận dữ liệu và tiền xử lý

2 Biểu diễn dữ liệu

3 Nhận dạng, ra quyết định

Bốn cách tiếp cận khác nhau trong lý thuyết nhận dạng là:

1 Đối sánh mẫu dựa trên các đặc trưng được trích chọn

2 Phân loại thống kê

3 Đối sánh cấu trúc

4 Phân loại dựa trên mạng nơ-ron nhân tạo

Trong các ứng dụng rõ ràng là không thể chỉ dùng có một cách tiếp cận đơn lẻ để phân loại “tối ưu” do vậy cần sử dụng cùng một lúc nhiều phương pháp và cách tiếp cận khác nhau Do vậy, các phương thức phân

Trang 15

loại tổ hợp hay được sử dụng khi nhận dạng và nay đã có những kết quả có triển vọng dựa trên thiết kế các hệ thống lai (hybrid system) bao gồm nhiều

mô hình kết hợp

Việc giải quyết bài toán nhận dạng trong những ứng dụng mới, nảy sinh trong cuộc sống không chỉ tạo ra những thách thức về thuật giải, mà còn đặt ra những yêu cầu về tốc độ tính toán Đặc điểm chung của tất cả những ứng dụng đó là những đặc điểm đặc trưng cần thiết thường là nhiều, không thể do chuyên gia đề xuất, mà phải được trích chọn dựa trên các thủ tục phân tích dữ liệu

i Nén ảnh

Nhằm giảm thiểu không gian lưu trữ Thường được tiến hành theo cả hai cách khuynh hướng là nén có bảo toàn và không bảo toàn thông tin Nén không bảo toàn thì thường có khả năng nén cao hơn nhưng khả năng phục hồi thì kém hơn Trên cơ sở hai khuynh hướng, có 4 cách tiếp cận cơ bản trong nén ảnh:

Nén ảnh thống kê: Kỹ thuật nén này dựa vào việc thống kê tần xuất xuất hiện của giá trị các điểm ảnh, trên cơ 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 này là *.TIF

 Nén ảnh không gian: Kỹ thuật này dựa vào vị trí không gian của các điểm ảnh để tiến hành mã hóa Kỹ thuật lợi dụng sự giống nhau của các điểm ảnh trong các vùng gần nhau Ví dụ cho kỹ thuật này là mã nén

*.PCX

 Nén ảnh sử dụng phép biến đổi: Đây là kỹ thuật tiếp cận theo hướng nén không bảo toàn và do vậy, kỹ thuật thường nén hiệu quả hơn

*.JPG chính là tiếp cận theo kỹ thuật nén này

 Nén ảnh Fracl: Sử dụng tính chất Fracl 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ỉ cần lưu trữ phần gốc ảnh và quy luật sinh ra ảnh theo nguyên lý Fracl

Trang 16

1.2 Thu nhận và biểu diễn ảnh

1.2.1 Thu nhận, các thiết bị thu nhận ảnh

Các thiết bị thu nhận ảnh bao gồm camera, scanner các thiết bị thu nhận này có thể cho ảnh đen trắng

Các thiết bị thu nhận ảnh có 2 loại chính ứng với 2 loại ảnh thông dụng Raster, Vector

Các thiết bị thu nhận ảnh thông thường Raster là camera các thiết bị thu nhận ảnh thông thường Vector là sensor hoặc bàn số hoá Digilizer hoặc được chuyển đổi từ ảnh Raster

Nhìn chung các hệ thống thu nhận ảnh thực hiện 1 quá trình:

 Cảm biến: biến đổi năng lượng quang học thành năng lượng điện

 Tổng hợp năng lượng điện thành ảnh

1.2.2 Biểu diễn ảnh

Ảnh trên máy tính là kết quả thu nhận theo các phương pháp số hoá được nhúng trong các thiết bị kỹ thuật khác nhau Quá trình lưu trữ ảnh nhằm 2 mục đích:

 Tiết kiệm bộ nhớ

 Giảm thời gian xử lý

Việc lưu trữ thông tin trong bộ nhớ có ảnh hưởng rất lớn đến việc hiển thị, in ấn và xử lý ảnh được xem như là một tập hợp các điểm với cùng kích thước nếu sử dụng càng nhiều điểm ảnh thì bức ảnh càng đẹp, càng mịn và càng thể hiện rõ hơn chi tiết của ảnh, đặc điểm này là độ phân giải Việc lựa chọn độ phân giải thích hợp tuỳ thuộc vào nhu cầu sử dụng

và đặc trưng của mỗi ảnh cụ thể, trên cơ sở đó các ảnh thường được biểu diễn theo hai mô hình cơ bản

a Mô hình Raster

Đây là cách biểu diễn ảnh thông dụng nhất hiện nay, ảnh được biểu diễn dưới dạng ma trận các điểm (điểm ảnh) Thường thu nhận qua các

Trang 17

thiết bị như camera, scanner Tuỳ theo yêu cầu thực tế mà mỗi điểm ảnh được biểu diễn qua một hay nhiều bít

Mô hình Raster thuận lợi cho hiển thị và in ấn Ngày nay công nghệ phần cứng cung cấp những thiết bị thu nhận ảnh Raster phù hợp với tốc độ nhanh và chất lượng cao cho cả đầu vào và đầu ra Một thuận lợi cho việc hiển thị trong môi trường Windows là Microsoft đưa ra khuôn dạng ảnh DIB (Device Independent Bitmap) làm trung gian Hình 1.4 thể hình quy trình chung để hiển thị ảnh Raster thông qua DIB

Một trong những hướng nghiên cứu cơ bản trên mô hình biểu diễn này

là kỹ thuật nén ảnh các kỹ thuật nén ảnh lại chia ra theo 2 khuynh hướng là nén bảo toàn và không bảo toàn thông tin nén bảo toàn có khả năng phục hồi hoàn toàn dữ liệu ban đầu còn nếu không bảo toàn chỉ có khả năng phục hồi độ sai số cho phép nào đó Theo cách tiếp cận này người đã đề ra nhiều quy cách khác nhau như BMP, TIFF, GIF, PCX…

Hiện nay trên thế giới có trên 50 khuôn dạng ảnh thông dụng bao gồm

cả trong đó các kỹ thuật nén có khả năng phục hồi dữ liệu 100% và nén có khả năng phục hồi với độ sai số nhận được

Thay đổi Hình 1.4 Quá trình hiển thị và chỉnh sửa, lưu trữ ảnh thông qua DIB

b Mô hình Vector

Biểu diễn ảnh ngoài mục đích tiết kiệm không gian lưu trữ dễ dàng cho hiển thị và in ấn còn đảm bảo dễ dàng trong lựa chọn sao chép di chuyển tìm kiếm…Theo những yêu cầu này kỹ thuật biểu diễn vector tỏ ra ưu

BMP

PCX

Trang 18

việt hơn

Trong mô hình vector đã sử dụng hướng giữa các vector của điểm ảnh lân cận để mã hoá và tái tạo hình ảnh ban đầu ảnh vector được thu nhận trực tiếp từ các thiết bị số hoá như Digital hoặc được chuyển đổi từ ảnh Raster thông qua các chương trình số hoá

Công nghệ phần cứng cung cấp những thiết bị xử lý với tốc độ nhanh

và chất lượng cho cả đầu vào và ra nhưng lại chỉ hỗ trợ cho ảnh Raster

Do vậy, những nghiên cứu về biểu diễn vectơ đều tập trung từ chuyển đổi từ ảnh Raster

Hình 1.5: Sự chuyển đổi giữa các mô hình biểu diễn ảnh

c Các định dạng file ảnh cơ bản trong xử lý ảnh

Ả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 quá trình phát triển của kỹ thuật

xử lý ảnh, tồn tại nhiều định dạng ảnh khác nhau từ ảnh đen trắng (với định dạng IMG), ảnh đa cấp xám cho đến ảnh màu (BMP, GIF, JPEG…)

Định dạng ảnh IMG là ảnh đen trắng, phần đầu của IMG có 16 byte chứa thông tin

Định dạng ảnh GIF: GIF (viết tắt của Graphics Interchange Format;

trong tiếng Anh nghĩa là "Định dạng Trao đổi Hình ảnh") là một định dạng tập tin hình ảnh bitmap cho các hình ảnh dùng ít hơn 256 màu sắc khác nhau

và các hoạt hình dùng ít hơn 256 màu cho mỗi khung hình GIF là định dạng nén dữ liệu đặc biệt hữu ích cho việc truyền hình ảnh qua đường truyền lưu lượng nhỏ Định dạng này được CompuServe cho ra đời vào năm 1987 và nhanh chóng được dùng rộng rãi trên World Wide Web cho đến nay Tập tin GIF dùng nén dữ liệu bảo toàn trong đó kích thước tập tin có thể được giảm

mà không làm giảm chất lượng hình ảnh, cho những hình ảnh có ít hơn 256

Trang 19

màu Số lượng tối đa 256 màu làm cho định dạng này không phù hợp cho các hình chụp (thường có nhiều màu sắc), tuy nhiên các kiểu nén dữ liệu bảo toàn cho hình chụp nhiều màu cũng có kích thước quá lớn đối với truyền dữ liệu trên mạng hiện nay Định dạng JPEG là nén dữ liệu thất thoát có thể được dùng cho các ảnh chụp, nhưng lại làm giảm chất lượng cho các bức vẽ ít màu, tạo nên những chỗ nhòe thay cho các đường sắc nét, đồng thời độ nén cũng thấp cho các hình vẽ ít màu Như vậy, GIF thường được dùng cho sơ đồ, hình

vẽ, nút bấm và các hình ít màu, còn JPEG được dùng cho ảnh chụp Định dạng GIF dựa vào các bảng màu: một bảng chứa tối đa 256 màu khác nhau cho biết các màu được dùng trong hình

Định dạng JPEG: Phương pháp nén ảnh JPEG (tiếng Anh, viết tắt cho

Joint Photo-graphic Experts Group) là một trong những phương pháp nén

ảnh hiệu quả, có tỷ lệ nén ảnh tới vài chục lần Tuy nhiên ảnh sau khi giải nén

sẽ khác với ảnh ban đầu Chất lượng ảnh bị suy giảm sau khi giải nén Sự suy giảm này tăng dần theo hệ số nén Tuy nhiên sự mất mát thông tin này là có thể chấp nhận được và việc loại bỏ những thông tin không cần thiết được dựa trên những nghiên cứu về hệ nhãn thị của mắt người Phần mở rộng của các file JPEG thường có dạng jpeg, jfif, jpg, JPG, hay JPE Dạng jpg là dạng được dùng phổ biến nhất Hiện nay dạng nén ảnh JPEG rất được phổ biến trong điện thoại di động cũng như những trang thiết bị lưu giữ có dung lượng nhỏ Công đoạn chính là chia nhỏ bức ảnh thành nhiều vùng nhỏ (thông thường là những vùng 8x8 pixel) rồi sử dụng biến đổi cosin rời rạc để biến đổi những vùng thể hiện này thành dạng ma trận có 64 hệ số thể hiện "thực trạng" các pixel Điều quan trọng là ở đây hệ số đầu tiên có khả năng thể hiện

"thực trạng" cao nhất, khả năng đó giảm rất nhanh với các hệ số khác Nói cách khác thì lượng thông tin của 64 pixels tập trung chủ yếu ở một số hệ số

ma trận theo biến đổi trên Trong giai đoạn này có sự mất mát thông tin, bởi không có biến đổi ngược chính xác Nhưng lượng thông tin bị mất này chưa

Trang 20

đáng kể so với giai đoạn tiếp theo Ma trận nhận được sau biến đổi cosin rời rạc được lược bớt sự khác nhau giữa các hệ số Đây chính là lúc mất nhiều thông tin vì sẽ vứt bỏ những thay đổi nhỏ của các hệ số Như thế khi bung ảnh

đã nén sẽ có được những tham số khác của các pixel Các biến đổi trên áp dụng cho thành phần U và V của ảnh với mức độ cao hơn so với Y (mất nhiều thông tin của U và V hơn) Sau đó thì áp dụng phương pháp mã hóa của Gernot Hoffman: phân tích dãy số, các phần tử lặp lại nhiều được mã hóa

bằng ký hiệu ngắn (marker) Khi bung ảnh chỉ việc làm lại các bước trên theo

quá trình ngược lại cùng với các biến đổi ngược

1.3 Giới thiệu chung về Matlab

Matlab là một ngôn ngữ lập trình thực hành bậc cao được sử dụng để giải các bài toán về kỹ thuật Matlab tích hợp được việc tính toán, thể hiện kết quả, cho phép lập trình, giao diện làm việc rất dễ dàng cho người sử dụng Dữ liệu cùng với thư viện được lập trình sẵn cho phép người sử dụng có thể có được những ứng dụng sau đây

 Sử dụng các hàm có sẵn trong thư viện, các phép tính toán học thông thường

 Cho phép lập trình tạo ra những ứng dụng mới

 Cho phép mô phỏng các mô hình thực tế

 Phân tích, khảo sát và hiển thị dữ liệu

Dữ liệu của Matlab thể hiện dưới dạng ma trận (hoặc mảng - tổng quát),

và có các kiểu dữ liệu được liệt kê sau đây:

Trang 21

 Kiểu single, kiểu này có lợi về bộ nhớ dữ liệu vì nó đòi hỏi ít byte nhớ hơn, kiểu dữ liệu này không được sử dụng trong các phép tính toán học, độ chính xác kém hơn

 Kiểu double kiểu này là kiểu thông dụng nhất của các biến trong Matlab

 Kiểu Sparse

 Kiểu unit8, unit8, unit16, unit64

 Kiểu char ví dụ “Hello”

 Các kỹ sư, các nhà nghiên cứu khoa học

 Dùng Matlab để tính toán, nghiên cứu tạo ra các sản phẩm tốt nhất trong sản xuất

Trang 22

1.3.2 Môi trường làm việc của Matlab

Giao diện làm việc chính của chương trình:

Hình 1.6: Giao diện làm việc chính

 Cửa sổ Command Window

Là cửa sổ giao tiếp chính của Matlab bởi đây là nơi nhập giá trị các biến, hiển thị giá trị, tính toán giá trị của biểu thức, thực thi các hàm có sẵn trong thư viện (dạng lệnh) hoặc các hàm (dạng function) do người dùng lập trình ra trong M-file Đối với phiên bản Matlab đầy đủ, các lệnh được nhập sau dấu nhắc “>>”, và nếu có sai sót trong quá trình gõ (nhập) lệnh thì hãy nhấn phím Enter cho đến khi nhận được dấu nhắc “>>” Thực thi lệnh bằng nhấn phím Enter

Hình 1.7: Cửa sổ Command Window

Trang 23

 Cửa sổ command History

Các dòng mà bạn nhập vào trong cửa sổ Command Window (các dòng này có thể là dòng nhập biến, hoặc có thể là dòng lệnh thực hiện hàm nào đó) được giữ lại trong cửa sổ Command History, và cửa sổ này cho phép ta sử dụng lại những lệnh đó bằng cách click chuột lên các lệnh đó hoặc các biến, nếu như muốn sử dụng lại biến đó

Hình 1.8: Cửa sổ command History

 Cửa sổ Workspace

Là cửa sổ thể hiện tên các biến bạn sử dụng cùng với kích thước vùng nhớ (số bytes), kiểu dữ liệu (lớp), các biến được giải phóng sau mỗi lần tắt chương trình (xem hình 1.17)

Hình 1.9: Cửa sổ Workspace

Trang 24

Ngoài ra nó cho phép thay đổi giá trị, cũng như kích thước của biến bằng cách click chuột lên các biến Hoặc click vào nút bên trái ngay cạnh nút save Ví dụ khi chọn biến (giả sử là biến y) rồi click đúp, ta được cửa sổ sau gọi là Variable Editor

Hình 1.10: Cửa sổ Variable Editor Tiêu đề là tên biến y, định dạng dữ liệu ở ô có tên là: Numeric format, mặc định là dạng short, kích thước size là 1 by 3 (tức là một hàng và 3 cột) ta

có thể thay đổi kích thước này bằng cách thay đổi giá trị có trong ô kích thước size Dùng cửa sổ này để lưu các biến ở dưới là dữ liệu của biến y, ta có thể thay đổi chúng bằng cách thay đổi giá trị trong các ô đó Tất cả các biến đều được lưu trong Workspace trong đó thể hiện cả kích thước (Size), số Bytes

và kiểu dữ liệu (class)

 Cửa sổ M-file

Là một cửa sổ dùng để soạn thảo chương trình ứng dụng, để thực thi chương trình viết trong M-file, trên giao diện chính của Matlab, nhấn vào biểu tượng New M-File phía trên bên trái Khi một chương trình viết trong M-file, thì tuỳ theo ứng dụng cụ thể, tuỳ theo người lập trình mà chương trình

có thể viết dưới dạng sau:

Trang 25

 Dạng Script file: Tức là chương trình gồm tập hợp các câu lệnh viết dưới dạng liệt kê, không có biến dữ liệu vào và biến lấy giá trị ra

 Dạng hàm function: có biến dữ liệu vào và biến ra

Hình 1.11: Cửa sổ M-file 1.3.3 Đọc và ghi dữ liệu ảnh

Phần này sẽ trình bày cách đọc và ghi ảnh

 Đọc một ảnh đồ hoạ

Để đọc ảnh f trong môi trường Matlab, người ta dùng hàm imread với cú

pháp như sau:

f = imread(‘tên file’)

Hàm imread đọc một ảnh từ bất kì định dạng nào được trợ giúp trong bất

kì chiều sâu bit nào được trợ giúp Hầu hết các file ảnh sử dụng 8 bít để chứa giá trị của pixel Khi chúng được đọc vào bộ nhớ, Matlab chứa chúng dưới dạng uint8 Với các file trợ giúp 16 bít dữ liệu, PNG và TIFF, Matlab chứa chúng dưới dạng uint16 Với ảnh chỉ số, imread luôn luôn đọc bản đồ màu vào trong một chuỗi thuộc lớp double, thậm chí mảng ảnh tự nó thuộc lớp uint8 hay uint16

Chẳng hạn, đoạn mã sau sẽ đọc một ảnh RGB vào không gian làm việc của Matlab lưu trong biến RGB

Trang 26

RGB=imread(‘football.jpg’);

Trong ví dụ này, imread sẽ nhận ra định dạng file để sử dụng từ tên file Cũng có thể chỉ ra định dạng file như một tham số trong hàm imread Matlab trợ giúp rất nhiều định dạng đồ hoạ thông dụng chẳng hạn: BMP, GIF, JPEG, PNG, TIFF…Để biết thêm các kiểu gọi hàm và tham số truyền vào, xem trợ giúp online của Matlab

 Đọc nhiều ảnh từ một file đồ hoạ

Matlab trợ giúp một số định dạng file đồ hoạ chẳng hạn như: HDF và TIFF, chúng chứa nhiều ảnh Theo mặc định, imread chỉ trợ giúp ảnh đầu tiên trong file Để nhập thêm các ảnh từ file, sử dụng cú pháp được trợ giúp bởi định dạng file Chẳng hạn, khi được sử dụng với TIFF, có thể sử dụng một giá

trị chỉ số với imread để chỉ ra ảnh mà mình muốn nhập vào

Khi file chứa nhiều ảnh theo một số kiểu nhất định chẳng hạn theo thứ tự thời gian, có thể lưu ảnh trong Matlab dưới dạng mảng 4 chiều Tất cả các ảnh phải có cùng kích thước

 Ghi một ảnh đồ hoạ

Để ghi một ảnh, sử dụng hàm imwrite có cú pháp như sau:

imwrite(f,’tên file’);

- Hàm imwrite sẽ ghi một ảnh tới một file đồ hoạ dưới một trong các

định dạng được trợ giúp Cấu trúc cơ bản nhất của imwrite sẽ yêu cầu một biến ảnh và tên file Nếu gộp một phần mở rộng trong tên file, Matlab sẽ nhận

ra định dạng mong muốn từ nó

 Chỉ ra định dạng phụ - Tham số đặc biệt

Khi sử dụng imwrite với một số định dạng đồ hoạ, sẽ chỉ ra các tham

số phụ Chẳng hạn, với định dạng PNG có thể chỉ ra độ sâu bít như một tham

số phụ

Để biết thêm các cấu trúc khác của hàm xem phần trợ giúp trực tuyến của Matlab

Ngày đăng: 09/11/2015, 14:06

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w