Tải bản đầy đủ (.pdf) (50 trang)

đồ án cảm biến

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 (467.47 KB, 50 trang )

ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
Mục lục
Lời nói đầu……………………………………………………………….……….…
Phần một : tổng quan về matlab……………………………………………………
Phần hai:LÝ THUYẾT XỬ LÝ ẢNH……………………………….……………
Chương 1:Giới thiệu hệ thống xử lý ảnh……………………………………………
Chương 2:Thu nhận ảnh…………………………………………………………….
Chương 3:Phân tích ảnh……………………………………… ….……….… ….
Chương 4:Nhận dạng ảnh …………………………………………………… …
Phần ba:THỰC NGHIỆM…………………………………………………………
Kết luận…………………………………………………………………………….
Tài liệu tham khảo………………………………………………………………….
ĐỀ TÀI : NHẬN DẠNG SỐ Page 1
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
LỜI NÓI ĐẦU
Xử lý ảnh là một bộ môn rất khó.Bộ môn này mới được đưa vào giảng dạy
trong các trường đại học.Và hiện tại Trong các trường đại học, cao đẳng, xử
lý ảnh đã trở thành một môn học chuyên ngành của sinh viên các ngành
Công nghệ Thông tin, Viễn thông.
Xử lý ảnh bao gồm 3 bước chính : thu nhận ảnh , phân tích và xử lý ảnh
,hiện thị ảnh và nhận dạng
Nội dung của bài tập lớn là : nhận dạng số qua camera kết nối với máy tính
Nội dung được tóm tắt như sau
Giới hạn của bài làm :
- Đề tài hoạt động tương đối vì kỹ năng kết hợp giữa ngôn ngữ lập trình
MatLab chúng em còn kém.
- Do kiến thức của chúng em còn hạn chế nên việc thực hiện đề tài không
tránh khỏi những sai xót trong tính toán và thi công. Vì vậy mong quý Thấy
(Cô) chỉ dẫn và đóng góp ý kiến thêm.
ĐỀ TÀI : NHẬN DẠNG SỐ Page 2
Ảnh đầu vào nguyên


gốc
Xử lý mức
xám
Trích lấy biên
ảnh
Nhận dạng
ký tự
Xử lý kết quả
Thu thập
ảnh
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
PHẦN I : TỔNG QUAN VỀ MATLAB
1.1 MATLAB là gì ?
- MATLAB là ngôn ngữ lập trình cấp cao cho mục đích tính toán kỹ thuật,
chương trình tích hợp tính toán, đồ hoạ và lập trình trong một môi trường dễ
sử dụng nơi mà tất cả các vấn đề và lời giải được biểu diễn dưới dạng ghi
chú toán học.
- MATLAB là một hệ thống tương tác mà tất cả các phần tử dữ liệu cơ bản
là một mảng không yêu cầu về mặt kích thước. Đây là một thuận lợi cho
phép người sử dụng giải quyết các bài toán trong kỹ thuật đặc biệt là các
công thức được xây dựng từ ma trận hay vector.
1.2 Hệ thống trong chương trình Matlab :
- Development Environment: Tập hợp các công cụ và những tiện ích cho
phép người dùng sử dụng các hàm và file Matlab. Phần lớn các công cụ này
là giao tiếp người dùng bao gồm: Matlab Desktop và Command Window,
Command History, Edit and Debugger, Workspace, trình duyệt hổ trợ sử
dụng help.
- The Matlab Mathematical Function Library: Đây là thư viện tập hợp các
giải thuật tính toán được tập hợp trong các hàm từ cơ bản như: sum, sin,
cosine, số phức cho đến các hàm phức tạp hơn như: nghịch đảo ma trận, trị

riêng và vecto riêng của ma trận, biến đổi Fourier,
- Lập trình trong môi trường Matlab: Lập trình với Matlab. Matlab là ngôn
ngữ lập trình cấp cao thực thi theo các đoạn lệnh, các hàm, cấu trúc dữ
ĐỀ TÀI : NHẬN DẠNG SỐ Page 3
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
liệu, cho phép xây dựng các chương trình từ đơn giản, nhỏ cho đến các
chương trình lớn, phức tạp.
- Graphics: Matlab đã được mở rộng các khả năng cho việc thể hiện vector
và ma trận dưới dạng đồ thị cũng như ký hiệu và in ấn chung. Matlab cung
cấp các hàm nâng cao cho việc thể hiện dữ liệu hai, ba chiều, xử lý ảnh,
chuyển động, đồ thị.
- The Matlab Application Program Interface (API): Đây là thư viện
cho phép người dùng tạo ra những chương trình bằng ngôn ngữ C hoặc
Fortran tương tác với Matlab
1.3 Toolbox bắt ảnh và xử lí ảnh :
1.3.1 Nhiệm vụ của Toolbox:
Image Acquisition Toolbox và Image processing là tật hợp các hàm
của MATLAB có nhiệm vụ thu thập và xử lý hình ảnh số từ các thiết bị thu
hình. Cụ thể là:
- Thu nhập hình ảnh từ các thiết bị thu hình khác nhau, từ loại chuyên dùng
đến loại rẻ tiền như Webcam ( giao tiếp qua cổng USB).
- Trình chiếu (preview) luồng dữ liệu video từ thiết bị thu hình.
- Trích hình ảnh từ luồng dữ liệu video.
- Thiết lập các callback cho các sự kiện khác nhau.
- Chuyển dữ liệu hình ảnh vào không gian workpace của Matlab để xử lý
ảnh tiếp theo.
1.3.2 Các bước thu nhập cơ bản với Toolbox:
Bước 1:
- Gắn thiết bị thu hình vào máy.
- Cài đặt driver (trình điều khiển) cho thiết bị, (được cho bởi nhà sản xuất).

ĐỀ TÀI : NHẬN DẠNG SỐ Page 4
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
- Xem thử hình ảnh video trên máy tính thông qua phần mềm của nhà sản
xuất.
- Khởi động matlab.
Bước 2:
- Ta cần chỉ định cho Matlab biết phần cứng nào dùng để lấy dữ liệu ( vì có
thể có nhiều camera kết nối với PC).
- Gõ lệnh imaqhwinfo để biết tên các loại thiết bị có thể dùng.
- Chỉ định thiết bị: Tuỳ vào loại thiết bị (adaptor name), mỗi thiết bị cùng
loại gắn vào PC được gắn đánh số ID, thiết bị thứ nhất có deviceID = 1, thiết
bị thứ 2 có deviceID=2
- Để liệt kê xem loại winvideo có bao nhiêu thiết bị gắn vào máy tính, ta
cũng dùng lệnh imaqhwinfor với đối số là winvideo:
>> imaqhwinfo('winvideo')
ans =
AdaptorDllName: [1x81 char]
AdaptorDllVersion: '3.3 (R2009a)'
AdaptorName: 'winvideo'
DeviceIDs: {[1]}
DeviceInfo: [1x1 struct]
- Có một thiết bị với DeviceID = 1. Ta có thể tìm hiểu thêm thông tin về
thiết bị này.
>> imaqhwinfo('winvideo',1)
ans =
DefaultFormat: 'RGB24_320x240'
DeviceFileSupported: 0
ĐỀ TÀI : NHẬN DẠNG SỐ Page 5
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
DeviceName: 'USB PC Camera (SN9C120)'

DeviceID: 1
ObjectConstructor: 'videoinput('winvideo', 1)'
SupportedFormats: {1x11 cell}
Bước 3: Tạo đối tượng đại diện vào máy để làm đề tài này.
- Để tạo luồng dữ liệu video, dùng lệnh videoinput.
>> vid = videoinput('winvideo',1)
Summary of Video Input Object Using 'USB PC Camera (SN9C120)'.
Acquisition Source(s): input1 is available.
Acquisition Parameters: 'input1' is the current selected source.
10 frames per trigger using the selected source.
'RGB24_320x240' video data to be logged upon START.
Grabbing first of every 1 frame(s).
Log data to 'memory' on trigger.
Trigger Parameters: 1 'immediate' trigger(s) on START.
Status: Waiting for START.
0 frames acquired since starting.
0 frames available for GETDATA.
Bước 4: Hiện thị luồng video trên màng hình để xem thử.
- Để xem trước luồng dữ liệu video, dùng lệnh preview.
>> preview(vid)
- Màn hình lúc này hiện lên cửa sổ video của đối tượng vid.
- Nếu muốn kết thúc xem, dùng lệnh stoppreview. Hoặc để đóng cửa sổ
preview, dùng lệnh closepreview(vid).
Bước 5: Lấy một khung hình ảnh và lưu thành file đồ hoạ.
ĐỀ TÀI : NHẬN DẠNG SỐ Page 6
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
- Để lấy 1 ảnh vào xử lý ta sử dụng lệnh getsnapshot.
- Để lưu ảnh thành file đồ hoạ ta dùng lệnh imwrite.
Ví dụ: hinh = getsnapshot(vid);
Imwrite(hinh,’d.jpg’);

Bước 6: Làm sạch bộ nhớ
Sau khi lấy dữ liệu hình ảnh ta có thể giải phóng bớt bộ nhớ bằng các lệnh
sau:
Delete(vid)
Clear
Close(gcf)
1.3.3. Toolbox xử lý ảnh ( Image Processing Toolbox):
1.3.3.1 Loại file dữ liệu của ảnh:
- BMP ( Microsoft Windows Bitmap)
- HDF (Hierarchical Data Format).
- ICO ( Windows Icon Resources)
- JPG, JPEG( Joint Photographic Experts Group).
- PCX (Paintbrush).
- PNG(Porable Network Graphics).
- TIFF ( Tagged Image File Format).
- XWD ( X Window Dump).
1.3.3.2 Các hàm đọc và lưu ảnh:
- Axis: vẽ trục.
- Image, imshow: hiển thị ảnh.
- Imagese: sắp xếp dữ liệu và hiển thị như ảnh.
- Imread: đọc ảnh từ file đồ họa.
ĐỀ TÀI : NHẬN DẠNG SỐ Page 7
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
- Immovie: tạo phim từ loạt nhiều khuôn hình.
- Imwrite: cất ảnh vào file đồ họa.
- Imfinfo: lấy thông tin ảnh từ file.
- Ind2rgb: đổi ảnh có chỉ số sang ảnh RGB.
MatLab coi ảnh như một ma trận hai chiều, mỗi phần tử là một phần
tử hình pixel, do đó ta có thể xử lý hình như đối với ma trận, các phần tử ma
trận có thể là double (64 bit), uint 16 (16 bit), uint 8 (8 bit). Ảnh index được

biễu diễn bởi hai ma trận, một ma trận dữ liệu ảnh X và một ma trận màu
(còn gọi là bản đồ màu). Ma trận có thể là kiểu uint8, uint16, double.
Ma trận màu là một ma trận kích thước m x 3 gồm các thành phần thuộc
kiểu double có giá trị trong khoảng [0 1]. Mỗi hàng của ma trận xác định
thành phần red, green, blue của một màu trong tổng m màu được sử dụng
trong ảnh. Gía trị của một phần tử trong ma trận dữ liệu ảnh cho biết màu
của điểm ảnh đó nằm ở hàng nào trong ma trận.
1.4 Các Hàm Xử Lý Ảnh Cơ Bản Trong MatLab:
Đôi khi ảnh bị mờ, không nét, bị nhiễu cần phải xử lý hoặc cần phải
tách một chi tiết nào đó ra khỏi ảnh. Sau đây là một số hàm xử lý ảnh cho
phép thực hiện các công việc này một cách dễ dàng. Chú ý là các hàm này
chỉ thực hiện độc lập, còn muốn thực hiện thời gian thực cần phải dùng các
ngôn ngữ lập trình như VB, Delphi, ta cũng có thể biến đổi các hàm xử lý
ảnh .m ra hàm .c để giảm bớt thời gian lập trình, còn có một cách để xử lý
thời gian thực là lập trình xử lý trong MATLAB, sau đó dùng Toolbox Com
Builder biến chương trình thành COM Object rồi ghép vào các ngôn ngữ lập
trình.
ĐỀ TÀI : NHẬN DẠNG SỐ Page 8
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
1.4.1 Đổi màu và loại ảnh:
- rgb2gray: đổi ảnh màu RGB ra ảnh cường độ xám.
- gray2ind: đổi ảnh trắng đen (gray scale) thành ảnh indexed.
- im2bw: đổi sang ảnh nhị phân.
1.4.2 Xử lý hình học:
- Imcrop(A), imcrop(A.rec): xén ảnh A theo hình chữ nhật định bởi con
chuột hay bởi thông số kèm theo trong hàm.
- Imresize (A, m, mothod): thay đổi kích thước ảnh A theo tỉ lệ m và theo
phương pháp nội suy method.
- Imrotate (A, angle, method): quay ảnh A một góc angle và dùng phương
pháp nội suy method.

1.4.3 Lọc nhiễu:
Các hàm lọc nhiễu dùng để tăng chất lượng ảnh. Có các phương pháp
lọc tuyến tính, lọc trung vị và lọc thích nghi.
- Lọc tuyến tính: pixel ảnh biến đổi là tổ hợp tuyến tính các pixel lân cận
của pixel gốc, các hàm thường dùng là conv2 (tích chập), concn, filter2.
- Lọc trung vị: là loại lọc phi tuyến, gồm các hàm medfilt2, ordfilt2.
- Lọc thích nghi: wiener2.
1.4.4 Phân tích ảnh:
- Imhist (X, map): vẽ histogram của ảnh chỉ số X theo bảng màu. Cường
độ ảnh từ 0 (đen) đến 255 (trắng) được chia thành n khoảng, histogram là đồ
thị cho biết số pixel có cường độ nằm trong khoảng tương ứng.
ĐỀ TÀI : NHẬN DẠNG SỐ Page 9
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
- Histeq: cân bằng histogram ảnh cường độ để tăng độ tương phản.
- Edge: tách biên ảnh dùng các thuật toán Sobel, Prewitt, Canny, Laplace,

- Qtdecomp, qtgeblk, qtsetblk: các lệnh dùng trong phân vùng ảnh
quadtree.
1.4.5. Biến đổi ảnh
- Fft2: biến đổi Fourier hai chiều nhanh
- Ifft2: biến đổi ngược hai chiều nhanh
- Dct2: biến đổi cosin rời rạc hai chiều
- Idct2: biến đổi ngược cosin rời rạc
1.4.6 Đọc, ghi và hiển thị ảnh:
- Imread: đọc ảnh
- Imwrite: ghi ảnh.
- Imshow: hiển thị ảnh
- Imview: ảnh cho phép hiển thị ảnh trên các cửa sổ riêng.
1.4.7 Các hàm xử lý ma trận:
- Cộng : X= A + B.

- Trừ : X= A – B.
- Nhân : X= A * B.
- Chia : X = A/B lúc đó X*B = A
: X = A\B lúc đó A*X = B
: X=A./B chia các phần tử tương ứng với nhau
ĐỀ TÀI : NHẬN DẠNG SỐ Page 10
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
- Luỹ thừa : X = A^2.
- Nghịch đảo : K = inv(A).
- Định thức : d = det(A)
1.4.8 Điều kiện if, else, elseif:
- Cú pháp của if:
if <biểu thức điều kiện>
<phát biểu>
end.
- Nếu <biểu thức điều kiện> cho kết quả đúng thì phần lệnh trong thân của
if được thực hiện. Các phát biểu else và leseif cũng tương tự.
1.4.9 Điều kiện switch:
- Cú pháp của switch như sau :
switch <biểu thức>
case n1 : <lệnh 1>
case n2 : <lệnh 2>
. . . . . . . . . . . . . . .
case nn : <lệnh n>
otherwise : <lệnh n+1>
end
ĐỀ TÀI : NHẬN DẠNG SỐ Page 11
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
1.4.10 Điều kiện while:
- Vòng lặp while dùng khi không biết trước số lần lặp. Cú pháp của nó như

sau:
while <biểu thức>
<phát biểu>
end.
Lệnh Kết quả
a = (b>c) a là 1 nếu b lớn hơn c. Tương tự với <,>=,<=.
a = (b ==c) a là 1 nếu b bằng c
a = (b ~=c) a là 1 nếu b không bằng c
a = ~ b Logic bù: a bằng 1 nếu b bằng 0
a = (b & c) Logic AND: a là 1 nếu a = True và b = True.
a = (b | c) Logic OR: a là 1 nếu a = True hoặc b = True.
1.5 Tạo Giao Diện Người Dùng Nhờ Công Cụ GUIDE.
Giao diện người dùng (graphical user interface GUI) cho phép thực
hiện các lệnh trong Matlab thông qua menu, nút nhấn tương tự như các
ngôn ngữ Visual Basic Lập trình GUI được thực hiện nhờ công cụ GUIDE
(GUI Development Environnment) hoặc bằng cách soạn một file M.
1.5.1 Khởi động giao diện GUI:
- Mở phần mềm Matlab, gõ lệnh sau vào cửa số Command
>> guide
- Trong cửa sổ GUIDE Quick Start có nhiều lựa chọn theo một trong các
khung mẫu sau:
ĐỀ TÀI : NHẬN DẠNG SỐ Page 12
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ



Hình 2.1 Cửa số GUIDE
- Create New GUI: Tạo hộp thoại GUI mới theo một trong các loại sau:
- Blank GUI (Default): Hộp thoại GUI trống không có một điều
khiển uicontrol nào cả.

- GUI with Uicontrols: Hộp thoại GUI với một vài uicontrol như
button, … Chương trình có thể chạy ngay.
- GUI with Axes and Menu: Hộp thoại GUI với một uicontrol axes
và button, các menu để hiển thị đồ thị.
- Modal Question Dialog: Hộp thoại đặt câu hỏi Yes, No.
- Open Existing GUI: mở một project có sẵn.Trong hướng dẫn này, các
bạn tạo một project mới nên sẽ chọn Blank GUI.
ĐỀ TÀI : NHẬN DẠNG SỐ Page 13
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
1.5.2 Cửa số GUI hiện ra:

Hình 2.2 Cửa số biên soạn GUI
Giao diện rất giống với các chương trình lập trình giao diện như
Visual Basic, Visual C++, … Các bạn di chuyển chuột qua các biểu tượng ở
bên trái sẽ thấy tên của các thanh công cụ điều khiển. Xin nói qua một vài
công cụ điều khiển hay dùng:
- Push Button: Là một nút nhấn, giống như nút Command Button trong
VB. Là các nút bấm như nút OK, Cancel mà ta vẫn bấm.
- Toggle button:Là một nút bật giống như push button nhưng có hiện thị
trạng thái thay đổi mỗi khi nhấn nút.
- Radio Button : Nút nhỏ hình tròn để chọn lựa.
- Check Box: Là hộp kiểm tra cho phép đưa vào các chọn lựa khi bấm
chuột vào nó.
- Edit Text: Là hộp văn bản đưa chuỗi ký tự vào đó.
ĐỀ TÀI : NHẬN DẠNG SỐ Page 14
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
- Static Text: Dòng văn bản dùn để đặt nhãn, tiêu đề, hướng dẫn.
- Pop-up Menu: menu sổ xuống trình bày một bảng các chọn lựa khi nhấp
chuột vào.
- List Box: Gồm một bảng các mục có thể lựa chọn.

- Axes: Vẽ hệ trục.
- Slider : Thanh trượt dùng để đưa giá trị vào trong một vùng giới hạn.
- Run (Ctr + T) : nhấn vào để chạy chương trình mà ta đã viết. Có lỗi là
hiện ra ngày.
- Align Object: dùng để làm cho các điều khiển sắp xếp gọn đẹp theo ý
mình như cùng căn lề bên trái, …
- Grid and Rulers : dùng để cấu hình về lưới trong giao diện vì nó sẽ coi
giao diện như một ma trận các ô vuông nhỏ, ta sẽ thay đổi giá trị này để cho
các điều khiển có thể thả ở đâu tùy ý cho đẹp.
- Menu Editor : trình này để tạo menu cho điều khiển
- Tab Order Editor : sắp xếp Tab order là thứ tự khi ta nhấn phím Tab
- Gui Options : lựa chọn cho giao diện GUI.
- Các bạn save dưới tên: “ TÊN”, khi đó đồng thời xuất hiện cửa sổ Editor
và đang mở file TÊN.m của bạn. Trong thư mục bạn save sẽ có 2 file là:
- TUT01.fig : file này chứa giao diện của chương trình
- TUT01.m : file chứa các mã thực thi cho chương trình như các hàm
khởi tạo, các hàm callback.
ĐỀ TÀI : NHẬN DẠNG SỐ Page 15
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
1.5.3 Thay đổi thuộc tính điều khiển:
Nhấp chuột vào component trong vùng layout để soạn tính chất của
component. Ví dụ: Nhấn chuột vào Edit text, sẽ hiện ra cửa sổ Property
Inspector.
- Tag: dùng để đặt tên cho component.
- BackgroundColor: màu nền của component.
- ForegroundColor: màu chữ trên component.
- FontName, fontAngle,fontSize, fontWeight: các đặt tính font chữ trên
component.
- String: văn bản hiển thị trên component.
- Enable: cho phép component hoạt động hay không.

- Visible: hiển thị component hay không.

ĐỀ TÀI : NHẬN DẠNG SỐ Page 16
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
Hình 2.3 Cửa sổ thuộc tính
- Quan trọng nhất đối với các component là callback, tức là hàm con mà
file áp dụng M sẽ gọi khi ta tác động vào component. Để soạn thảo callback
ở cửa số layout nhấp chuột phải vào component muốn soạn thảo sau đó chọn
View callbacks -> callback ta sẽ vào màn hình soạn thảo callback cho
component đó. Lưu ý rằng các dòng lệnh sẽ được viết sau dòng “ function
tên component_callback(hobject,eventdata, handles). Sau khi soạn thảo xong
ta lưu, lập tức Matlab sẽ lưu thành hai file có cùng tên nhưng khác nhau về
phần mở rộng:
- File có phần mở rộng.fig chứa nội dung của giao diện. File có phần
mở rộng.m chứa những đoạn mã liên quan đến giao diện.
Phần hai : lý thuyết xử lý ảnh
Chương I : giới thiệu hệ thống xử lý ảnh
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,
ĐỀ TÀI : NHẬN DẠNG SỐ Page 17
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ

thống kê. Một số kiến thứ cần thiết như Trí tuệ nhân tao, 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.
Các phương pháp xử lý ảnh bắt đầu từ các ứng dụng chính: nâng cao chất lượng
ả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 từ Luân đôn đến New York từ những năm 1920. Vấn đề
nâng cao chất lượng ảnh có liên quan tới phân bố mức sáng và độ phân giải của
ảnh. Việc nâng cao chất lượng ảnh được phát triển vào khoảng những năm 1955.
Điều này có thể giải thích được vì sau thế chiến thứ hai, máy tính phát triển
nhanh tạo điều kiện cho quá trình xử lý ảnh sô 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 ảnh từ mặt trăng và vệ tinh Ranger 7
của Mỹ bao gồm: làm nổi đường biên, lưu ảnh. Từ năm 1964 đến nay, các
phương tiện xử lý, nâng cao chất lượng, nhận dạng ảnh phát triển không ngừng.
Các phương pháp tri thức nhân tạo như mạng nơ ron nhân tạo, các thuật toán xử
lý hiện đại và cải tiến, 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.
Trong mấy thập kỷ gần đây xử lý ảnh được nghiên cứu mạnh mẽ và có nhiều ứng
dụng thực tế. Như trong y học xử lý ảnh được dùng để phát hiện và nhận dạng khối u,
cải thiện ảnh X quang, nhận dạng đường biên mạch máu từ ảnh chụp bằng tia X. Trong
truyền thông và trong nghiên cứu vũ trụ xử lý ảnh được dùng để phân tích ảnh của những
hành tinh , thiên hà thu được từ tàu vũ trụ hay kính thiên văn. Đặc biệt trong Robot ngày
nay không thể thiếu yếu tố xử lý ảnh , nhờ xử lý ảnh robot có thể phát hiện và nhận dạng
đối tượng ngoài môi trường . Từ đó giải quyết các bài toán tránh vật cản ,tìm đường, nhận
dạng đối tượng …
Quá trình xử lý ảnh được chia làm 3 bước chính sau
-Thu nhận ảnh
-phân tích ảnh xử lý ảnh
-hiện thị ảnh và nhận dạng
2.1 thu nhận ảnh
Ảnh có thể nhận qua camera màu hoặc đen trắng. Thường ảnh nhận qua

camera là ảnh
tương tự (loại camera ống chuẩn CCIR với tần số 1/25, mỗi ảnh 25 dòng),
cũng có loại camera đã
ĐỀ TÀI : NHẬN DẠNG SỐ Page 18
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
số hoá (như loại CCD – Change Coupled Device) là loại photodiot tạo
cường độ sáng tại mỗi
điểm ảnh.
Camera thường dùng là loại quét dòng ; ảnh tạo ra có dạng hai chiều. Chất
lượng một ảnh
thu nhận được phụ thuộc vào thiết bị thu, vào môi trường (ánh sáng, phong
cảnh)
2.2 phân tích và xử lý ảnh
Ở giai đoạn này ảnh được xử lý qua nhiều công đoạn nhỏ như lọc nhiễu , cải thiện
ảnh , khôi phục ảnh để làm nổi một số đặc tính chính của ảnh hay làm cho ảnh gần với
ảnh gốc , tiếp theo là phát hiện các đặc tính biên cạnh góc ,phân vùng.
2.3 hiển thị ảnh và nhận dạng
ảnh được xử lý xong sẽ được hiển thị. Và chuyển sang nhận dạng
Nhận dạng ảnh là quá trình xác định ảnh. Quá trình này thường thu được
bằng cách so
sánh với mẫu chuẩn đã được học (hoặc lưu) từ trước. Nội suy là phán đoán
theo ý nghĩa trên cơ sở
nhận dạng. Ví dụ: một loạt chữ số và nét gạch ngang trên phong bì thư có
thể được nội suy thành
mã điện thoại. Có nhiều cách phân loai ảnh khác nhau về ảnh. Theo lý
thuyết về nhận dạng, các
mô hình toán học về ảnh được phân theo hai loại nhận dạng ảnh cơ bản:

- Nhận dạng theo tham số.
- Nhận dạng theo cấu trúc.

Một số đối tượng nhận dạng khá phổ biến hiện nay đang được áp dụng trong
khoa học và
công nghệ là: nhận dạng ký tự (chữ in, chữ viết tay, chữ ký điện tử), nhận
dạng văn bản (Text),
nhận dạng vân tay, nhận dạng mã vạch, nhận dạng mặt người…
ĐỀ TÀI : NHẬN DẠNG SỐ Page 19
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
CHƯƠNG II : THU NHẬN ẢNH
ĐỀ TÀI : NHẬN DẠNG SỐ Page 20
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
2.1 các thiết bị thu nhận ảnh
Hai thành phần cho công đoạn này là linh kiện nhạy với phổ năng lượng
điện từ trường, loại thứ nhất tạo tín hiệu điện ở đầu ra tỷ lệ với mức năng
lượng mà bộ cảm biến (đại diện là camera); loại thứ hai là bộ số hoá.
2.2 hệ tọa độ màu
a) khái niệm
Tổ chức quốc tế về chuẩn hóa màu CIE (Commission Internationale
d’Eclairage) đưa ra một số chuẩn để biểu diễn màu. Các hệ này có các chuẩn
riêng. Hệ chuẩn màu CIE-RGB dùng 3 màu cơ bản R, G, B và ký hiệu
RGBCIE để phân biệt với các chuẩn khác. Như đã nêu trên, một màu là tổ
hợp của các màu cơ bản theo một tỷ lệ nào đó. Như vậy, mỗi pixel ảnh màu
ký hiệu
Px
, được viết: (
T:
trong công thức dướ đây là ký hiệu chuyển vị)
P
x
= [ red ,green , blue ]
T

Người ta dùng hệ tọa độ ba màu R-G-B (tương ứng với hệ tọa độ x-y-z) để
biểu diễn màu như sau:
Trong cách biểu diễn này ta có công thức:
đỏ + lục + lơ =1
ĐỀ TÀI : NHẬN DẠNG SỐ Page 21
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
Công thức này gọi là công thức Maxwell. Trong hình trên, tam giác tạo bởi
ba đường đứt đoạn gọi là tam giác Maxwell. Màu trắng trong hệ tọa độ này
được tính bởi:
trắng
CIE
= (đỏ
CIE
+ lục
CIE
+ lơ
CIE
) = 1
2.3 Lấy mẫu và lượng tử hóa:
2.3.1 Lấy mẫu:
Lấy mẫu là một quá trình trong đó ảnh được tạo nên bởi một vùng liên tục được
chuyển thành các giá trị rời rạc nguyên . Quá trình này gồm 2 bước là:
-Khoảng lấy mẫu.
-Cách thể hiện dạng lấy mẫu.
Khoảng lấy mẫu càng nhỏ thì ảnh thu được càng giống với ảnh nguyên gốc .
Dạng lấy mẫu là cách bài trí các điểm lấy mẫu trong không gian 2 chiều . Một số dạng
lấy mẫu điểm ảnh được cho là dạng tam giác , chữ nhật , lục giác.
2.3.2 Lượng tử hóa:
Lượng tử hóa là ánh xạ từ các số thực mô tả giá trị lấy mẫu thành dải các số thực , nói
cách khác là quá trình số hóa biên độ.

2.4 Biểu diễn ảnh:
Ảnh thường được biểu diễn bằng một số phương pháp sau đây:
- Biểu diễn mã loạt dài (Run length code) .
- Biểu diễn mã xích ( Chain code ).
- Biểu diễn mã tứ phân (Quad tree code ).
2.4.1 Biểu diễn mã loạt dài:
ĐỀ TÀI : NHẬN DẠNG SỐ Page 22
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
Thường dùng biểu diễn ảnh nhị phân , một vùng ảnh R có thể biểu diễn đơn giản nhờ
một ma trận nhị phân :
u(m,n) = 1 nếu (m,n) ∈ R
0 nếu khác
2.4.2 Biểu diễn mã xích:
Thường biểu diễn biên của ảnh . Thay vì lưu trữ toàn bộ người ta lưu trữ các dãy điểm
ảnh A, B,….M .
2.4.3 Biểu diễn mã tứ phân:
Theo phương pháp này một vùng ảnh coi như bao kín một hình chữ nhật . Vùng này
được chia làm 4 vùng con nếu một vùng con này gồm toàn điểm đen (1) hoặc điểm trắng
(0) thì không cần chia tiếp ngược lại thì lại chia vùng đó ra làm 4 vùng nhỏ , cứ tiếp tục
chia đến khi nào vùng đó đồng nhất chỉ gồm điểm đen hoặc điểm trắng thì thôi . Quá
trình đó tạo thành một cây chia theo 4 phần gọi là cây tứ diện .
CHƯƠNG III: PHÂN TÍCH ẢNH
ĐỀ TÀI : NHẬN DẠNG SỐ Page 23
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ

Sơ đồ tổng quát
3.1 cải thiện ảnh xử dụng các toán tử điểm
Nâng cao chất lượng là bước cần thiết trong xử lý ảnh nhằm hoàn thiện một
số đặc tính của ảnh. Nâng cao chất lượng ảnh gồm hai công đoạn khác nhau:
tăng cường ảnh và khôi phục ảnh. Tăng cường ảnh nhằm hoàn thiện các đặc

tính của ảnh như :
- Lọc nhiễu, hay làm trơn ảnh,
- Tăng độ tương phản, điều chỉnh mức xám của ảnh,
- Làm nổi biên ảnh.
Khái niệm về toán tử điểm:
Xử lý điểm ảnh thực chất là biến đổi giá trị một điểm ảnh dựa vào giá trị của
chính nó mà không hề dựa vào các điểm ảnh khác. Có hai cách tiệm cận với
phương pháp này. Cách thứ nhất dùng một hàm biến đổi thích hợp với mục
đích hoặc yêu cầu đặt ra để biến đổi giá trị mức xám của điểm ảnh sang một
giá trị mức xám khác. Cách thứ hai là dùng lược đồ mức xám
(GrayHistogram). Về mặt toán học, toán tử điểm là một ánh xạ từ giá trị
ĐỀ TÀI : NHẬN DẠNG SỐ Page 24
ĐỒ ÁN CẢM BIẾN GVHD: NHỮ QUÝ THƠ
cường độ ánh sáng u(m, n) tại toạ độ
(m, n)
sang giá tri cường độ ánh sáng
khác
v(m, n)
thông qua hàm
f(.),
tức là:
v(m,n) = f(u(m,n))
(3-1)
Nói một cách khác, toán tử điểm là toán tử không bộ nhớ, ở đó một mức xác
u
∈ [ 0 ,
N
]
được ánh xạ sang một mức xám
v

∈ [ 0 ,
N
] :
v
=
f
(
u
) . Ứng dụng chính
của các toán tử điểm là biến đổi độ tương phản của ảnh. Ánh xạ
f
khác nhau
tùy theo các ứng dụng. Các dạng toán tử điểm được giới thiệu cụ thể như
sau:
1) Tăng độ tương phản.
Các cấp độ α ,β ,γ xác định độ tương phản tương đối.
L
là số mức xám
cực đại.
2) Tách nhiễu và phân ngưỡng

Trong đó
a
=
b
=
t
gọi là phân ngưỡng
3) Biến đổi âm bản.


f
(
u
) =
L

u tạo âm bản
4) Cắt theo mức

ĐỀ TÀI : NHẬN DẠNG SỐ Page 25

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

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