Tải bản đầy đủ (.docx) (22 trang)

Tieu luan xu ly anh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (366.42 KB, 22 trang )

Hạn nộp bài theo qui định: ngày ......... tháng....... năm .................
Thời gian nộp bài:ngày ........ tháng........ năm .................................

Nhận xét của giảng viên chấm bài:
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................
...................................................................................................................

Điểm: ..........................Giảng viên (ký tên): ....................................


MỤC LỤC
MỤC LỤC.................................................................................................................................1
MỞ ĐẦU....................................................................................................................................2
PHẦN I: LÝ LUẬN VỀ XỬ LÝ ẢNH..................................................................................3
1. Xử lý ảnh (số) và các khái niệm liên quan:......................................................................3
1.1 Xử lý ảnh (số)..................................................................................................................3
1.2 Các khái nịêm liên quan:..............................................................................................3
PHẦN II: SỬ DỤNG PHẦN MỀM MATLAB XỬ LÝ ẢNH..........................................10
1. Giới thiệu về MATLAB.....................................................................................................10
1.1 Các đặc điểm cơ bản của MATLAB:........................................................................10
1.2 Phát triển giải thuật và ứng dụng..............................................................................11
1.3 Phân tích và tiếp cận dữ liệu:.....................................................................................12
1.4 Tiếp cận dữ liệu............................................................................................................13
1.5 Hình ảnh hóa dữ liệu...................................................................................................13
1.6 Xuất kết quả và triển khai ứng dụng........................................................................14
2. Xử lý ảnh bằng MATLAB................................................................................................15
2.1. Ảnh trong MATLAB..................................................................................................15


2.2. Hộp công cụ xử lý ảnh (image processing toolbox):..............................................15
2.3. Hộp công cụ thu nhận ảnh (image acquisition toolbox):......................................18
2.4.Một số ví dụ về xử lý ảnh với Matlab:......................................................................19
DANH MỤC TÀI LIỆU THAM KHẢO.............................................................................21

1


MỞ ĐẦU
Khoảng hơn mười năm trở lại đây, phần cứng máy tính và các thiết bị
liên quan đã có sự tiến bộ vượt bậc về tốc độ tính toán, dung lượng chứa, khả
năng xử lý v.v.. và giá cả đã giảm đến mức máy tính và các thiết bị liên quan đến
xử lý ảnh đã không còn là thiết bị chuyên dụng nữa. Khái niệm ảnh số đã trở nên
thông dụng với hầu hết mọi người trong xã hội và việc thu nhận ảnh số bằng các
thiết bị cá nhân hay chuyên dụng cùng với việc đưa vào máy tính xử lý đã trở
nên đơn giản.
Trong hoàn cảnh đó, 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 ngành của sinh viên ngành công nghệ thông tin trong
nhiều trường đại học trên cả nước. Tuy nhiên, tài liệu giáo trình còn là một điều
khó khăn. Hiện tại chỉ có một số ít tài liệu bằng tiếng Anh hoặc tiếng Pháp, tài
liệu bằng tiếng Việt thì rất hiếm. Với mong muốn đóng góp vào sự nghiệp đào
tạo và nghiên cứu trong lĩnh vực này, chúng tôi biên soạn cuốn giáo trình Xử lý
ảnh dựa trên đề cương môn học đã được duyệt. Cuốn sách tập trung vào các vấn
đề cơ bản của xử lý ảnh nhằm cung cấp một nền tảng kiến thức đầy đủ và chọn
lọc nhằm giúp người đọc có thể tự tìm hiểu và xây dựng các chương trình ứng
dụng liên quan đến xử lý ảnh.
Trong quá trình nghiên cứu môn học "Xử lý ảnh" dưới sự hướng dẫn của
TS. Nguyễn Đăng Minh, tôi được giao thực hiện tiểu luận môn học với yêu cầu:
Lý luận về xử lý ảnh và Ứng dụng phần mềm Matlap để xửt lý ảnh.
Do thời gian nghiên cứu chưa nhiều, trình độ còn hạn chế nên tiểu luận

không tránh khỏi nhiều thiếu sót. Tôi rất mong nhận được sự góp ý của các thầy
giáo, cô giáo và bạn đọc.

2


PHẦN I: LÝ LUẬN VỀ XỬ LÝ ẢNH

1. Xử lý ảnh (số) và các khái niệm liên quan:
1.1 Xử lý ảnh (số)
Xử lý ảnh (số) là một dạng của xử lý tín hiệu trong đó đầu vào là một hình
ảnh (các bức ảnh, các khung hình) và đầu ra của quá trình xử lý ảnh có thể là
một hình ảnh khác hoặc là một tập chứa các tính chất hoặc tham số liên quan tới
hình ảnh đó. Phần lớn các kỹ thuật xử lý ảnh thì thường qui về việc xử lý hình
ảnh như là một tín hiệu 2 chiều rồi sử dụng các kỹ thuật xử lý tín hiệu để xử lý
nó.
1.2 Các khái nịêm liên quan:
* Đ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 đ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ư vậy, đ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ề kkhong 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.

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

3


Theo định nghĩa ở trên thi mỗi Pixel gồm một cặp toạ độ (x,y) và màu. Độ
phân giải của ảnh chính là tích số của giá trị lớn nhất của x với giá trị lớn nhất
của y.
VD: Màn hình máy tính có nhiều loại với độ phân giải khác nhau: màn
hình CGA (Color Graphic Adaptor) có độ phân giải 320 x 200; màn hình VGA
(Video Graphic Array) độ phân giải 1280 x 800;
Rõ ràng màn hình có độ phân giảI càng cao thì ta có cảm giác nó càng
"mịn" hơn so với loại có độ phân giải thấp hơn.
* Mức xám (Gray level)
Mức xám là kết quả sự mã hoá tương ứng một cường độ sáng của mỗi điểm
ảnh với một giá trị số – kết quả của quá trình lượng tử hoá.
Các thang giá trị mức xám thông thường: 16,32,64,128,256. Trong đó mức
256 được dùng rất phổ biến do máy tính dùng 1 byte(8 bit) để biểu diễn mức
xám, mà mức xám lại dùng 1 byte để biểu diễn: 2 8=256 mức, tức là từ mức 0
đến mức 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 ding 1 bit mô tả 2 1
mức khác nhau hay mỗi điểm ảnh nhị phân chi có 1 trong 2 giá trị hoặc là 1 hoặc
là 2.
Ảnh màu: với mỗi điểm ảnh thì người ta dung 3 byte để mô tả mức màu
(do thế giới màu được tạo nên từ 3 màu cơ bản: đỏ (red), lục (blue) và lơ
(green)). Do đó có 28*3 =224=16,7 triệu màu.
* Biểu diễn ảnh
Trong biểu diễn ảnh, người ta thường dùng các phần tử đặc trưng của ảnh

là pixel. Do đó ta có thể biểu diễn một ảnh bởi một hàm 2 biến chứac thông tin.
4


Các mô hình biểu diễn ảnh cho ta một mô tả lô gic hay định lượng các tính chất
của hàm này. Chất lượng ảnh hoặc tính hiệu quả của các kỹ thuật xử lý phụ
thuộc vào nhiều yếu tố như: độ phân giảI, nhiễu,...
Để xử lý được ảnh, thì ảnh đó phải được lấy mẫu (sample) rồi lượng tử hoá
(quantization). Tức là đầu tiên chuyển từ ảnh tương tự sang ảnh số sau đó lưu
giá trị của từng điểm ảnh với một số hữu hạn các mức xám.
* Tăng cường và khôi phục ảnh
Tăng cường ảnh (image enhancement):
Khi ảnh được chuyển từ dạng này sang dạng khác bởi các quá trình như:
truyền ảnh, quét ảnh,… thì ảnh nhận được thường có chất lượng thấp hơn so với
ảnh ban đầu. Để giúp người ta có thể quan sát bức ảnh một cách chính xác hơn
thì đòi hỏi phải có biện pháp để nâng cao chất lượng ảnh. Qúa trình này được
gọi là tăng cường ảnh (image enhancement).
Tăng cường ảnh giúp loại bỏ các suy giảm (degradation) gây ra bởi hệ
thống xử lý hoặc kênh xử lý ảnh. Ngày nay, nhu cầu phát triển các hệ thống tự
động cho việc xử lý hình ảnh ngày càng phát triển, kéo theo nó là sự cần thiết
trong việc loại bỏ sai số cũng như các yếu tố nhiễu trong qúa trình xử lý. Do đó,
tăng cường ảnh có thể được coi như một tập hợp các kỹ thuật để nâng cao chất
lượng hình ảnh đồng thời tập hợp này cũng được ding để nâng cao độ chính xác
trong quá trình tìm kiếm tự động và chuyển đổi dạng của bức ảnh.
Các kỹ thuật tăng cường ảnh có thể kể đến: kỹ thuật tương phản (contrast),
ánh xạ (mapping- gán mỗi mức xám từ ảnh gốc với một mức xám khác của ảnh
đã được biên dịch),… Nói chung, các kỹ thuật tăng cường ảnh này đều nhằm
mục đích đạt được kết qủa tốt nhất. Những kỹ thuật này thường dựa trên các sự
kết hợp giữa các phương pháp biến đổi trên miền không gian và miền tần số.
Khôi phục ảnh (image restoration):


5


Khôi phục ảnh là quá trình loại bỏ các suy giảm (degradation) trong ảnh.
Có nhiều nguyên nhân dẫn đến sự suy giảm.
Khi camera không tập trung tiêu cự một cách hợp lý có thể dẫn đến bức
ảnh bị "nhòe".
Khi chụp ảnh trong điều kiên thời tiết không thuận lợi: sương mù, qúa nắng
nóng,… cũng có thể làm cho bức ảnh bị ‘nhòe’.
Chụp ảnh các vật đang chuyển động cũng có thể gây "nhòe" cho bức ảnh.
Do có nhiều nguyên nhân gây nên suy giảm ảnh vì vậy, đối với mỗi loại
nguyên nhân phải có các cách phục hồi khác nhau. Khôi phục ảnh phần lớn
được thực hiện bằng cách tìm ra các giảI thuật nhằm phục hồi lại các thông tin
bị thất lạc trong quá trình xử lý ảnh.
Chúng ta cũng cần phân biệt tăng cường ảnh với khôi phục ảnh: trong khi
tăng cường ảnh nhằm tăng chất lượng của bức ảnh thì khôi phục ảnh nhằm đưa
lại hình ảnh gốc của bức ảnh đã bị suy giảm. Các kỹ thuật tăng cường ảnh không
áp dụng được với khôi phục ảnh.
* Biến đổi ảnh (image transformation)
Thuật ngữ biến đổi ảnh thường dùng để nói tới các kỹ thuật dùng để biến
đổi ảnh. Ở đây ảnh có thể được coi như một chuỗi các tín hiệu một chiều được
biểu diễn bởi các hàm cơ sở. Có nhiều biến đổi được dùng như: biến đổi Fourier,
cosin, sin, karhumen loeve,…
Trong khuôn khổ luận văn này, ở phần sau tôI sẽ trình bày về các biến đổi
Fourier: DFT, FFT, IDFT,… Đây là các biến đổi rất phổ dụng và đã được tôi
thực tế áp dụng trong quá trình nghiên cứu.
* Phân tích ảnh (image analysis)
Sau các bước tiền xử lý ảnh, ảnh đã được tăng cường hay được khôi phục
để làm nổi các đặc trưng chủ yếu. Lúc này nó bắt đầu được đưa vào quá trình

phân tích. Quá trình phân tích ảnh gồm các công đoạn: trích chọn các đặc tính
6


(feature extraction), phân đoạn ảnh (segmentation) thành các phần tử. Tuỳ theo
mục đích của việc xử lý, các giai đoạn tiếp theo của quá trình phân tích ảnh có
thể là nhận dạng ảnh (phân thành các lớp có miêu tả) hay là giảI thích và miêu tả
ảnh. Hình 1. mô tả tóm lược các bước của quá trình phân tích ảnh:

ảnh đầu ra của
quá trình tiền XL

Trích chọn
Phân
đặc tính
đoạn
Hình vẽ trang 115

Phân
loại

Giải thích
Hình 1. Các bước trong phân tích ảnh
Phân tích ảnh thường dựa trên việc phân tích các đặc trưng của ảnh: mật
độ xám, phân bố xác suất, phân bố không gian, biên ảnh,…
1.3. Nhận dạng và phân loại ảnh (recognition and classification of image
partterns)
* Nhận dạng ảnh (recognition of image partterns):
Khi một bức ảnh đã được phân đoạn, nhiệm vụ tiếp theo là nhận dạng vật
thể hoặc vùng đã được phân đoạn. Mỗi một vật thể là một thành phần ở trong

ảnh và các giá trị đo được là các đặc tính của thành phần đó. Một tập các vật thể
cùng có các đặc tính giống nhau được gọi là một ‘lớp vật thể’(pattern class).
Theo đó có thể định nghĩa, nhận dạng là quá trình phân loại các đối tượng
được biểu diễn theo một mô hình nào đó và gán cho chúng vào một lớp (gán cho
đối tượng một tên gọi) dựa theo những quy luật và các mẫu chuẩn.
Sự nhận dạng ảnh thường dựa trên nhiều tính chất của vật và với mỗi tính
chất đều có các kỹ thuật nhận dạng khác nhau. VD: Mỗi chữ cái trong tiếng Anh
đều là một tập các đường thẳng đứng, ngang, chéo hoặc cong. Trong khi chữ ‘A’
được mô tả bởi 2 đường chéo và một đường nằm ngang thì chữ ‘B’ được mô tả
bởi một đường thẳng đứng với 2 đoạn cong. Một số tính chất của các vật thể 2
hoặc 3 chiều là diện tích, thể tích, chu vi, bề mặt,… có thể đo được thông qua
7


việc tính toán số ‘pixel’. Tương tự như vậy, bang của một vật được đặc trưng bởi
đường biên của nó. Một số tham số để xác định bang của một vật là cac môment bất biến (invariant moment), đường trung bình (medial axis) của vật thể …
Mầu của một vật cũng là đặc điểm hết sức quan trọng được dùng trong
nhận dạng. Kỹ thuật dùng để phát hiện các đặc tính của vật thể gọi là kỹ thuật
trích chọn đặc tính (feature extraction). Khi đó vật thể được miêu tả như một tập
các đặc tính. Sự lựa chọn và tách lấy các tính chất thích hợp được coi như là vấn
đề cơ bản đầu tiên trong nhận dạng ảnh.
* Phân loại thành phần ảnh (classification of image patterns)
Phân loại là một công đoạn quan trọng trong quá trình nhận dạng vật. Đã
có nhiều kỹ thuật phân loại được sử dụng trong việc nhận dạng thành phần. Một
số kỹ thuật phân loại được biết như là những kỹ thuật lý thuyết chính xác. Với
những kỹ thuật lý thuyết chính xác này, phân loại một thành phần chưa biết
được quyết định dựa trên một số nguyên tắc hoặc đã xác định hoặc có ý nghĩa
thống kê hoặc thậm chí đôI khi còn chưa được xác định rõ. Hình 1. thể hiện quá
trính phân loại.


Vật cầnKết quả
Trích chọn
kiểm trađã phân loại
đặc tính
loại

Bộ phân loại

Vật mẫu
Trích chọn
đặc tính

Thu nhận
thông tin

Các kỹ thuật nhận dạng vật có mẫu chuẩn được chia làm 2 loại chính:
- Phương pháp phân loại dựa trên việc thu nhận có giám sát
(supervised learning).
- Phương pháp phân loại sử dụng các kỹ thuật không cần giám sát
(nonsupervised learning).
8


Các giải thuật phân loại có giám sát có thể được phân thành các loại nhỏ
hơn:
* Phân loại dựa vào tham số (Parametric classifiers)
* Phân loại không cần tham số (Nonparametric classifiers)
Đối với phân loại có giám sát dựa trên tham số, thiết bị phân loại lấy mẫu
với một tập gồm nhiều mẫu thành phần xác định nhằm tính toán các thông số
thống kê của mỗi loại thành phần như: trung bình số học, công sai… Các vector

đặc tính đầu vào đạt được trong thời gian lấy mẫu của phân loại có giám sát
được coi như các biến Guass.
Các giải thuật không cần giám sát thường được sử dụng trong các bộ phân
loại theo khoảng cách nhỏ nhất (minimum distance classifer) và bộ phân loại
tương đồng lớn nhất (maximum likelihood classifier).
Ngược lại, một số thông số không được quan tâm trong phương pháp phân
loại co giám sát không cần tham số. Một số kỹ thuật của loại này là: K điểm lân
cận gần nhất (K-nearest neighbors), cửa sổ Parzen (Parzen window)…
Đối với các phương pháp phân loại không cần giám sát, bộ phân loại sẽ
chia toàn bộ tập thông tin dựa trên một số tiêu chuẩn tương đồng. Điều này cho
kết quả là một tập các thành phần trong đó mỗi thành phần thuộc về một lớp cụ
thể nào đó.

9


PHẦN II: SỬ DỤNG PHẦN MỀM MATLAB XỬ LÝ ẢNH

1. Giới thiệu về MATLAB
MATLAB là ngôn ngữ lập trình bậc cao dùng cho kỹ thuật. Đồng thời nó là
môI trường tương tác có thể thực hiện nhiều nhiệm vụ: phát triển giảI thuật,
phân tích dữ liệu, tính toán các phép tính số học và hình ảnh hóa dữ liệu. So với
các ngôn ngữ lập trình truyền thống như C, C++ hay Fortran thì MATLAB có
nhiều ưu điểm hơn do được tích hợp các hỗ trợ rất mạnh.
MATLAB được sử dụng trong nhiều lĩnh vực ứng dụng bao gồm: sử lý tín
hiệu và hình ảnh, truyền thông, thiết kế điều khiển, kiểm tra và đo lường, phân
tích và mô hình hóa các thông tin tài chính, tính toán trong hóa sinh… Ngoài ra,
MATLAB còn được tích hợp các hộp công cụ (mỗi hộp gồm hệ thống các hàm
có những chức năng đặc biệt của MATLAB) nhằm giảI quyết các lớp vấn đề cụ
thể trong các lĩnh vực ứng dụng khác nhau.

MATLAB cung cấp nhiều đặc tính tiện lợi đối với việc xử lý và chia sẻ
công việc. Trong quá trình làm việc với MATLAB, các đoạn mã của nó có thể
được tích hợp với các ngôn ngữ và ứng dụng khác.
1.1 Các đặc điểm cơ bản của MATLAB:
* Là ngôn ngữ bậc cao dùng cho các tính toán kỹ thuật.
* Là môi trường phát triển để quản lý dữ liệu.
* Gồm nhiều công cụ tương tác cho việc khai thác và xử lý dữ liệu, thiết kế
và giảI quyết vấn đề.
* Các hàm đồ thị đối với ảnh 2 hoặc 3 chiều cho phép hình ảnh hóa dữ liệu.
* Chứa các công cụ để xây dựng các giao diện đồ thị của người sử dụng.

10


* Gồm nhiều hàm chức năng dựa trên các giảI thuật cơ sở nhằm tích hợp
MATAB với các ứng dụng và ngôn ngữ lập trình khác như: C,C++, Fortran,
Java, Microsoft excel…
1.2 Phát triển giải thuật và ứng dụng
MATLAB là một ngôn ngữ bậc cao được tích hợp các công cụ phát triển
giúp người sử dụng phát triển và phân tích các giảI thuật và ứng dụng một cách
nhanh chóng.
Ngôn ngữ lập trình MATLAB:
Ngôn ngữ lập trình MATLAB hỗ trợ các phép toán đối với ma trận và vectơ cơ sở cho các vấn đề kỹ thuật và khoa học.
Việc lập trình và phát triển giảI thuật trong MATLAB có tốc độ nhanh hơn
so với các ngôn ngữ lập trình truyền thống do MATLAB bỏ qua các công việc
điều khiển bậc thấp như khai báo biến, khai báo mẫu dữ liệu và xác định vùng
nhớ. Trong nhiều trường hợp, MATLAB còn bỏ qua cả sự cần thiếp của các
vòng lặp ‘for’. Kết quả là, một dòng lệnh được viết trong MATLAB có thể
tương đương với nhiều dòng lệnh trong C hay C++.
Là một công cụ lập trình mạnh, MATLAB vẫn hỗ trợ những đặc tính của

một ngôn ngữ lập trình truyền thống như: toán tử số học, cấu trúc vòng, các cấu
trúc và dạng dữ liệu cùng đặc tính gỡ rối.
VD: Chương trình biểu diễn thuật toán điều chế tín hiệu truyền thông tạo ra
1024 điểm, thực hiện điều chế, thêm nhiễu phức Gauss và vẽ lại kết quả.
% tạo một vector N bit
N = 1024;
bits = rand(N,1)>0.5;
% chuyen sang ky tu
Tx=1-2*bits;
11


%them vao nhieu Gauss trang
P=0.4
Nz=P*(randn(N,1)+i*randn(N,1));
Rx= Tx + Nz;
%hien thi ket qua
plot(Rx,'.');
axix([-2 2 -2 2]);
axis square, grid;

Hình 4.1
Trong khi đối với phần lớn các ngôn ngữ lập trình truyền thống phảI trảI
qua giai đoạn dịch (compilation) và liên kết (linking) thì MATLAB cho phép
người sử dụng có thể thực thi ngay các lệnh hoặc nhóm lệnh cùng lúc. Điều này
làm cho tốc độ xử lý trên MATLAB nhanh hơn đáng kể so với trên các ngôn ngữ
truyền thống.
1.3 Phân tích và tiếp cận dữ liệu:
Trong quá trình phân tích dữ liệu, MATLAB hỗ trợ hầu hết các công đoạn
như: thu nhận dữ liệu từ thiết bị ngoại vi, các phân tích số học, tiền xử lý, hình

ảnh hóa…
12


Phân tích dữ liệu:
Chương trình MATLAB cung cấp các công cụ tương tác cũng như các hàm
điều khiển theo dòng cho việc tính toán trong phân tích dữ liệu bao gồm:
* Các phép nội suy
* Trích chọn tính chất
* Chọn ngưỡng và lọc nhiễu
* Tương quan, phân tích Fourier và lọc
* Phát hiện các điểm đỉnh, đáy và điểm không
* Thống kê cơ bản và chuẩn hóa các đường cong
* Phân tích ma trận
1.4 Tiếp cận dữ liệu
Việc tiếp cận dữ liệu từ các thư mục, ứng dụng, cơ sở dữ liệu và thiết bị
ngoại vi bởi MATLAB là hết sức dễ dàng. MATLAB hỗ trợ nhiều loại định dạng
file: ASCII, nhị phân, các file hình ảnh và âm thanh hay thậm chí các file định
dạng HDF.
Trong MATLAB có nhiều hộp công cụ (toolbox) hỗ trợ cho việc tiếp cận
dữ liệu như: hộp công cụ cơ sở dữ liệu (Database Toolbox), hộp công cụ thu
nhận dữ liệu (Data Acquisition Toolbox) hay hộp công cụ điều khiển thiết bị
(Instrument Control Toolbox).
1.5 Hình ảnh hóa dữ liệu
Tất cả các đặc tính về hình ảnh cần thiết cho hình ảnh hóa các dữ liệu khoa
học kỹ thuật đều được tích hợp trong MATLAB. Những đặc tính này bao gồm:
các hàm vẽ ảnh 2 và 3 chiều, các hàm vẽ thể tích 3 chiều, các công cụ tương tác
tạo ảnh, khả năng xuất kết quả dưới các dạng file ảnh thông thường.
VD: vẽ hàm y= sin(x) với -pi < x < pi
13



Mã chương trình:
>>x = -pi:.1:pi;
>>y = sin(x);
>> plot (x, y)

Hình 4. đồ thị hàm y = sin(x)
1.6 Xuất kết quả và triển khai ứng dụng
MATLAB đưa ra nhiều đặc tính giúp báo cáo và chia sẻ công việc. Các
đoạn code viết trên MATLAB có thể được tích hợp với các ngôn ngữ và ứng
dụng khác. Đồng thời cũng có thể triển khai các thuật toán cũng như ứng dụng
của nó như một chương trình hoặc các khối phần mềm riêng biệt.
Xuất kết quả:
Sau khi hoàn thành công việc, người sử dụng cần xuất kết quả ra thường là
dưới dạng hình ảnh hoặc báo cáo. MATLAB có hỗ trợ file hình ảnh với nhiều
định dạng khác do đó việc xuất kết quả dưới dạng đồ thị hay file ảnh là hết sức
dễ dàng. Ngoài ra, nếu muốn thì cũng có thể chuyển code từ MATLAB ra các
dạng khác: HTML, Word, Latex…
14


Kết hợp mã MATLAB với các loại ngôn ngữ và ứng dụng khác:
MATLAB cung cấp sẵn các hàm cho việc kết hợp mã của các ngôn ngữ lập
trình khác như C, C++, Fortran hay Java với mã chương trình của nó. Sử dụng
thư viện công cụ(engine library) của MATLAB, người sử dụng có thể gọi các
đoạn mã từ C, C++ hay Fortran.
Triển khai ứng dụng:
Các sản phẩm sau khi xử lý bằng MATLAB thường là các đoạn mã. Các
đoạn mã này có thể được cung cấp cho những người khác hoặc ứng dụng vào

các sản phẩm phần cứng hoặc phần mềm cụ thể.
2. Xử lý ảnh bằng MATLAB
2.1. Ảnh trong MATLAB
Trong MATLAB, dữ liệu chủ yếu được lưu trữ theo cấu trúc mảng (tập có
thứ tự gồm các phần tử số thực hoặc phức). Ảnh trong Matlab cũng được lưu trữ
bởi các mảng phần tử với các giá trị lưu trữ có thể là mầu, cường độ… của ảnh.
Hầu hết các ảnh được MATLAB lưu trữ dưới dạng các mảng 2 chiều (VD:
ma trận). Trong các mảng 2 chiều này, mỗi phần tử tương ứng với một pixel và
thường được biểu diễn bởi một điểm trên màn hình máy tính(VD: Một bức ảnh
có 500 hàng và 700 cột gồm nhiều điểm mầu khác nhau được lưu trữ bởi một
ma trận có kích thước 500x700). Một số bức ảnh, như ảnh mầu đòi hỏi phảI
được lưu trữ bởi mảng ba chiều. Trong đó, mặt phẳng thứ nhất trong mảng ba
chiều này biểu diễn cho cường độ đỏ (red) của phần tử, mặt phẳng thứ hai biểu
diễn cho cường độ màu xanh là cây (green) và mặt phẳng còn lại biểu diễn cho
cường độ màu xanh da trời (blue) của phần tử. Với việc lưu trữ các ảnh dưới
dạng mảng, việc xử lý ảnh với dữ liệu được lưu bởi dạng ma trận nào đều được
thực hiện rất thuận tiện.
2.2. Hộp công cụ xử lý ảnh (image processing toolbox):

15


Matlab có thể xử lý cũng như lưu trữ các bức ảnh dưới nhiều định dạng
khác nhau: BMP, HDF, JPEG, TIFF… Dù vậy tất cả các định dạng này đều được
quy chuẩn về 4 dạng cơ bản: nhị phân (Binary), được gán chỉ số (Indexed), mức
xám (Grayscale), RGB (RGB hay truecolor). Các định dạng ảnh này sẽ qui định
cách mà Matlab biên dịch các phần tử của ma trận dữ liệu (VD: các giá trị cường
độ phần tử).
* Ảnh dạng mức xám (gray scale image):
Ảnh loại này được biểu diễn bởi một ma trận mà mọi phần tử của nó đều

biểu diễn một giá trị sáng/tối của điểm ảnh ở vị trí tương ứng. Có 2 cách để biểu
diễn giá trị thể hiện mức độ ‘xám’ của một pixel: dạng double và dạng uint8.
Dạng double gán cho mỗi pixel một giá trị động thuộc khoảng (0,1): giá trị 0
ứng với màu đen còn 1 ứng với màu trắng. Dạng uint8 gán cho mỗi pixel một
giá trị từ 0 đến 255 thể hiện độ sáng (brightness): giá trị 0 tương ứng với màu
đen còn 255 ứng với màu trắng. Mỗi bức ảnh lưu trữ dưới dạng uint8 chỉ chiếm
1/8 không gian nhớ so với lưu trữ dưới dạng double. Mặc dù vậy, đôI khi thuật
toán hoặc các ứng dụng chỉ có thể giảI quyết với dạng double.
* Ảnh kiểu nhị phân:
Mỗi bức ảnh dạng này được lưu trữ bởi một ma trận trong đó mỗi phần tử
của ma trận chỉ có thể có giá trị hoặc 0 (đen) hoặc 1 (trắng).
* Ảnh được gán chỉ số:
Đây là một cách thông dụng để biểu diễn các bức ảnh mầu. Một bức ảnh
được gán chỉ số được lưu trữ bởi 2 ma trận. Ma trận thứ nhất có cùng kích cỡ
với bức ảnh và chứa giá trị thứ nhất của mỗi pixel. Ma trận còn lại được gọi là
ma trận màu (color map) và có kích cỡ có thể khác so với kích cỡ của bức ảnh.
Các chỉ số ở ma trận thức nhất cho ta biết số nào sẽ được biểu diễn bởi ma trận
màu.
* Ảnh dạng RGB:
16


Các ảnh RGB được Matlab lưu trữ bởi 3 ma trận chứa các kích cỡ ứng với
định dạng của bức ảnh. Mỗi ma trận tương ứng với một trong các mầu: đẻ (Red),
xanh lá cây (Green), xanh da trời (Blue). Đồng thời giá trị mỗi phần tử của ma
trận sẽ thể hiện cường độ từng loại mầu tại mỗi pixel.
* Các lệnh chuyển đổi trong Hộp công cụ xử lý ảnh:
Lệnh dither() : chuyển các định dạng khác sang dạng nhị phân.
Lệnh Gray2ind(): chuyển từ dạng Gray sang indexed.
Lệnh ind2gray(): chuyển từ dạng indexed sang Gray.

Lệnh ind2rgb(): chuyển từ dạng indexed sang RGB.
Lệnh mat2gray(): chuyển một ma trận thông thường dạng gray bởi hàm tỉ
lệ.
Lệnh rgb2gray(): chuyển dạng RGB sang dạng Gray.
Lệnh rgb2ind(): chuyển dạng RGB sang dạng Indexed.
* Đọc file ảnh trong Matlat
Matlab không xử lý trực tiếp bức ảnh mà làm việc thông qua việc chuyển
đổi ảnh về dạng (các) ma trận chứa các thông số của nó. Thực chất việc xử lý
ảnh trong Matlab chính là xử lý các thông số của ma trận. Các lệnh cơ bản nhất
của xử lý ảnh trong Matlab chính là các lệnh đọc ghi.
Lệnh imread() nhập một bức ảnh vào trong workspace (không gian làm
việc) của Matlab. Lúc này xử lý bức ảnh tương đương với việc xử lý biên được
gán cho nó.
VD: image=imread(‘picture.jpg’); % gán ảnh có tên picture định dang jpg
cho biến image, biến image được lưu trong workspace.
Lệnh imwrite() chuyển đổi một biến đã được gán cho ảnh thành file ảnh và
ghi nhớ file ảnh đó.
17


VD: imwrite(image,’image.jpg’); % lưu biến image dưới định dạng file ảnh
jpg vào thư mục làm việc hiện thời
2.3. Hộp công cụ thu nhận ảnh (image acquisition toolbox):
Hộp công cụ thu nhân ảnh được dùng để thực hiện chức năng thu nhận ảnh
qua các thiết bị được kết nối với máy tính. Sử dụng các hàm chức năng của hộp
công cụ này có thể tạo ra một đối tượng thể hiện sự kết nối giữa Matlab và các
thiết bị thu hình ảnh cụ thể. Sử dụng các tính chất của đối tượng giúp kiểm soát
nhiều bước trong quá trình thu nhận ảnh như dung lượng dữ liệu video muốn ghi
lại.
Hộp công cụ sử dụng các thành phần được gọi là các bộ thích ứng dùng để

liên kết với các thiết bị thông qua các trình điều khiển.
Với hộp công cụ thu nhận hình ảnh, ta có thể nối trực tiếp phần cứng ở
trong thanh công cụ và có thể thiết lập các tham số thu nhận đồng thời xem và
yêu cầu dữ liệu ảnh. Ngoài ra, ta có thể tiếp cận dữ liệu của Matlab dưới một vài
định dạng đồng thời tạo ra một file AVI.
Matlab thông qua hộp công cụ thu nhận hình ảnh hỗ trợ kết nối với nhiều
loại thiết bị thu nhận ảnh bao gồm: các thiết bị camera kỹ thuật số chuyên biệt
dựa trên kết nối 1394 (DCAM), các thiết bị hỗ trợ kết nối USB (WEB camera,
máy quay kỹ thuật số, cạc chuyển đổi TV…)

18


MATLAB

Image acquisition Toolbox
M-file Functions
Hardware driver
Adaptor

USB
USB
source

PCI
Frame
grabber

IEEE 1394


Firewire
source

Hình 4. Thành phần hộp công cụ thu nhận ảnh
2.4.Một số ví dụ về xử lý ảnh với Matlab:
Ví dụ : Đọc và hiển thị một bức ảnh
>> I=imread('C:\My Pictures\ham-rong-sapa-5.jpg');%doc file anh tu dong
dan
>> imshow(I);%hien thi anh

19


Ví dụ 2: Chuyển một ảnh RGB sang Gray
>> I_trans=rgb2gray(I);% chuyen tu dinh dang RGB sang Gray
>> imshow(I_trans);%hien thi anh dinh dang Gray

>>imwrite(I_trans,ham-rong-sapa-5.bmp’); %luu anh vao thu muc lam viec
cua Workspace

20


DANH MỤC TÀI LIỆU THAM KHẢO
Tài liệu tiếng Việt
1. Đỗ Năng Toàn, Phạm Việt Bình (2008), Giáo trình xử lý ảnh – ĐH
Thái Nguyên, Nxb Khoa học và kỹ thuật, 2008.
2. Phạm Việt Bình, Cao Lê Mạnh Hà, Đỗ Năng Toàn (2005), “Một cách
tiếp cận mới trong phát hiện biên của ảnh đa cấp xám”, Kỷ yếu Hội thảo Quốc
gia lần thứ 8 - Một số vấn đề chọn lọc của Công nghệ Thông tin và Truyền

thông, Hải Phòng 25-27/08/2005, Nxb KH&KT, Hà Nội 2006, 92-102.
3. Nguyễn Quốc Trung (2004), Xử lý tín hiệu và lọc số, Nxb và Kỹ thuật,
2004.
4. Lương Mạnh Bá, Nguyễn Thanh Thủy (2003), Nhập Môn Xử lý ảnh số,
Nxb Khoa học và Kỹ thuật, 2003.
5. Nguyễn Kim Sách (1997), Xử lý ảnh và Video số, Nxb Khoa học và Kỹ
thuật, 1997.

21



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×