Tổng quan về kiến trúc của EmguCV

Một phần của tài liệu Luận văn tốt nghiệp XÂY DỰNG HỆ THỐNG BÃI GIỮ XE THÔNG MINH (Trang 37 - 41)

EmguCV bao gồm 2 lớp được biểu diễn như hình trên

- Lớp 1 (Lớp cơ bản): bao gồm hàm chức năng, cấu trúc và ánh xạ được phản ánh trực tiếp trong OpenCV

Chương II: Cơ sở lý thuyết hệ thống

21

2.4.2 Những khả năng của OpenCV

OpenCV có nhiều chức năng, sau đây là tóm tắt các chức năng của nó:

- Ảnh và vào ra video

Các giao diện này cho phép bạn đọc dữ liệu ảnh từ các tập ảnh hoặc từ các video. Bạn cũng có thể tạo file ảnh và video.

- Thị giác máy tính nói chung và các giải thuật xử lý ảnh (APIs mức thấp và trung bình)

Sử dụng các giao diện này, bạn có thể thí nghiệm với nhiều thuật toán thị giác nhân tạo chuẩn mà bạn không cần viết code về chúng. Chúng bao gồm sự dị tìm viền, đường thẳng và góc, điều chỉnh elip, lấy mẫu và những biến đổi khác nhau (Fourier rời rạc, cosin rời rạc và các biến đổi khoảng cách), v.v…

- Những module thị giác máy ở mức cao

OpenCV bao gồm vài khả năng ở mức cao. Ngồi việc dị tìm, nhận dạng và theo dõi khn mặt nó cịn bao gồm cả luồng quang hoc (sử dụng sự di chuyển động của camera để xác định cấu trúc 3D), định cỡ camera và hình khối.

- Các giải thuật trí tuệ nhân tạo và dạy học máy

Các ứng dụng thị giác máy tính thường địi hỏi các phương pháp dạy học máy hoặc trí tuệ nhân tạo (AI) khác. Một vài trong số chúng sẵn có trong gói dạy học máy của OpenCV.

- Lấy mẫu ảnh và các biến đổi khung nhìn

Nó thường có ích để xử lý một tập điểm như một khối. OpenCV bao gồm giao diện cho những sự phân miền sao chép ảnh, xử lý ngẫu nhiên, hồi phục kích thước yêu cầu, làm vênh, quay và sử dụng những hiệu ứng phối cảnh.

- Các phương pháp tạo và phân tích ảnh nhị phân

Ảnh nhị phân thường xuyên được sử dụng trong các hệ thống quét để kiểm tra khuyết điểm hình dạng hay đểm các bộ phận của vật.

22

- Thao tác với ảnh 3D

Các chức năng này có ích cho phép ánh xạ và sự xác định vị trí – hay với thiết bị vật thể hoặc với nhiều dạng phép chiếu từ một camera đơn.

- Các thuật toán xử lý ảnh, thị giác máy và hiển thị ảnh

OpenCV bao gồm cả tốn học cũ, các thuật tốn đại số tuyến tính, khoa học thống kê và hình học tính tốn.

- Đồ họa

Các giao diện này cho phép bạn viết chữ và vẽ trên ảnh. Thêm vào các hàm khác nhau và khả năng sáng tạo, các hàm này có ích cho sự ghi nhãn và đánh dấu. Ví dụ, nếu bạn viết một chương trình dị tìm đối tượng, nó giúp ích cho các ảnh nhãn về kích thước và vị trí của chúng.

- Các phương pháp GUI

OpenCV bao gồm các giao diện cửa sổ của chính nó. Trong khi đây là hạn chế so sánh tới cái gì có thể được làm trên mỗi nền tảng, họ cung cấp API đơn, nhiều nền tảng để hiển thị ảnh, chấp nhận người sử dụng nhập vào qua chuột hay bàn phím và thực hiện điều khiển bằng thanh trượt.

- Cấu trúc dữ liệu và thuật toán

Với những giao diện này bạn có thể lưu trữ, tìm kiểm , bảo lưu và thao tác một cách hiệu nghiệm các danh sách lớn, đống ,đồ thị và cây.

- Ổn định dữ liệu

Các phương pháp này cung cấp các giao diện tiện lợi cho các kiểu lưu trữ khác nhau của dữ liệu trên đĩa và khôi phục chúng sau. (adsbygoogle = window.adsbygoogle || []).push({});

2.4.3 Cấu tạo OpenCV

Chức năng của OpenCV được chứa trong các module khác nhau:

- CXCORE: chứa các định nghĩa kiểu dữ liệu cơ sở. Ví dụ, các cấu trúc dữ liệu cho ảnh,

điểm và hình chữ nhật được định nghĩa trong cxtypes.h. CXCORE cũng chứa đại số tuyến tính và phương pháp thống kê, chức năng duy trì và điều khiển chuỗi. Một số ít, các chức năng đồ họa để vẽ trên ảnh cũng được đặt ở đây.

Chương II: Cơ sở lý thuyết hệ thống

23

- CV: chứa các thuật tốn về xử lý ảnh và định kích cỡ camera. Các chức năng hình họa máy

tính cũng được đặt ở đây.

- CVAUX: được mô tả trong tài liệu của OpenCV như chứa các mã cũ và thứ nghiệm. Tuy

nhiên, các giao diện đơn cho sự nhận diện ảnh ở trong module này. Code sau này chúng được chuyên dụng cho nhận diện mặt và chúng được ứng dụng rộng rãi cho mục đích đó.

- HIGHGUI: chứa các giao diện vào ra cơ bản, nó cũng chứa các khả năng cửa sổ mở rộng

và vào ra video.

- CVCAM: chứa các giao diện cho video truy cập qua DirectX trên nền Windows 32 bits.[5][6]

2.5 Nhận dạng ký tự quang học OCR

2.5.1 Khái niệm nhân dạng ký tự quang học OCR

Nhận dạng ký tự quang học (Optical Character Recognition viết tắt là OCR) là kỹ thuật được sử dụng để chuyển các hình ảnh của chữ viết tay hay chữ đánh máy thành các văn bản tài liệu. OCR được hình thành từ một lĩnh vực nghiên cứu về nhận dạng mẫu, trí tuệ nhân tạo và machine vision. Mặc dù công việc nghiên cứu học thuật vẫn tiếp tục nhưng OCR đã được ứng dụng thực tế với các kỹ thuật đã được chứng minh. Nó được ứng dụng trong cơng tác quét và lưu trữ các tài liệu cũ, đẩy nhanh việc nhập dữ liệu vào máy với ít lỗi hơn.

Nhận dạng ký tự quang học (dùng các kỹ thuật quang học như gương và ống kính) và nhận dạng ký tự số (sử dụng máy quét và các thuật tốn máy tính) lúc đầu được xem xét như hai lĩnh vực khác nhau bởi vì chỉ có rất ít các ứng dụng tồn tại với các kỹ thuật quang học thực sự. Do đó, thuật ngữ “ Nhận dạng ký tự quang học” được mở rộng và bao gồm luôn ý nghĩa nhận dạng ký tự số.

Trước hết, hệ thống nhận dạng yêu cầu phải được huấn luyện với các mẫu của các ký tự cụ thể. Các hệ thống “thơng minh” với độ chính xác nhận dạng cao đối với hầu hết các phông chữ hiện nay đã trở nên phổ biến. Một số hệ thống còn có khả năng tái tạo lại các định dạng của tài liệu gần giống với bản gốc bao gồm: hình ảnh, các cột, bảng biểu, các thành phần không phải là văn bản.[7]

24 Hiện nay, rất nhiều phần mềm mã nguồn mỡ dùng công nghệ nhận dạng ký tự quang học hay nhận dạng chữ in, chữ đánh máy cho phép trích xuất và chuyển đổi tài liệu dạng ảnh (ảnh từ máy quét, máy ảnh, tập tin PDF dạng ảnh…) thành các tài liệu có thể biên tập (dạng tập tin text, Word…) - hỗ trợ việc số hóa tài liệu tiếngViệt (nhận dạng văn bản tiếng Việt). Tùy vào độ phức tạp của văn bản: định dạng chữ hoa, chữ thường, chữ in nghiêng, khung bảng, biểu mẫu…, chất lượng ảnh, và tùy vào công nghệ nhận dạng riêng biệt của mỗi nhà phát triển sẽ có mức độ nhận dạng văn bản chính xác khác nhau.

a. TOCR

TOCR phiên bản 3.2 bao gồm một độ chính xác cao đa ngơn ngữ OCR Engine và một chương trình Viewer (được viết bằng VB 5) để dùng để hổ trợ. TOCR phân tích được 2 loại ảnh bitmap và TIF. Nó có sẵn API miễn phí như là tiêu chuẩn với cả hai phiên bản đầy đủ và dùng thử. Nó đã được tích hợp vào hàng ngàn ứng dụng của bên thứ ba trên toàn thế giới để mang lại tính nhất quán,độ chính xác cao và các giải pháp thương mại.

Một phần của tài liệu Luận văn tốt nghiệp XÂY DỰNG HỆ THỐNG BÃI GIỮ XE THÔNG MINH (Trang 37 - 41)