Tải bản đầy đủ - 0 (trang)
6 Tổng quan về OpenCV.

6 Tổng quan về OpenCV.

Tải bản đầy đủ - 0trang





HighGUI chứa các thủ tục vào ra và các hàm dùng cho việc lưu trữ và tải hình

ảnh video.



CXCore chứa cấu trúc và nội dung dữ liệu cơ sở.



Hình 2. 28 Cấu trúc cơ sở của Open CV

2.6.2 Một số hàm đơn giản thường xuyên sử dụng.

Để đọc và viết các file ảnh, chụp video chuyển đổi giữa các định dạng màu, và

truy cập dữ liệu điểm ảnh tất cả qua giao diện OpenCV.





Đọc và viết một bức ảnh.



Bức ảnh vào/ra thì rất đơn giản trong OpenCV, để đọc file ảnh đơn giản gọi

hàm cvLoadImage(tên file). OpenCV hỗ trợ hầu hết các định dạng phổ biến kể cả

JPEG, PNG và BMP, cvLoadImage() tự động quyết định dạng file thông qua file

Header.

Để viết một bức ảnh đến một file ta dùng hàm cvSaveImage(). Hàm này cũng

tự quyết định dạng file định dạng để sử dụng từ tên file mở rộng.

Cả cvLoadImage và cvSaveImage đều nằm trong module HighGUI.

cvReleaseImage() dùng để thoát khỏi hàm cvLoadImage(). Hàm này đưa đến một địa

chỉ con trỏ giống đầu vào của nó bởi việc nó làm là loại bỏ an tồn (Safe Release). Nó

chỉ loại bỏ tấm ảnh này khi là ảnh non-null, khi loại bỏ xong nó đặt giá trị con trỏ về 0.

Làm việc với video như làm việc với ảnh nhận từ các frame từ một webcam, hay

các thiết bị video số khác thì dễ dàng như tải nó lên từ một file có sẵn. Để nhận một

khung từ camera ta chỉ việc thay cvCreateFileCapture() bằng hàm

cvCreateCameraCature().

27



Chúng ta có thể tạo cvCaptuer*Object với cvCreateFileCapture(), sử dụng

cvQueryFrame () để nhận từng frame và cvWaitkey(33) để chờ 33ms giữa từng frame.

Chúng ta sử dụng cvReleaseCapture() để loại bỏ capture khi ngừng sử dụng.





Các hàm thực hiện xử lý ảnh.



OpenCV cung cấp các hàm thực hiện xử lý ảnh nằm trong thư viện CV, một bức

ảnh không chỉ đơn giản là một mảng giá trị màu sắc. Sau đây là một số hàm xử lý ảnh

thường dùng:

Smoothing (làm mịn) hay còn gọi là blurring nó là một thuật toán xử lý ảnh đơn

giản và thường xuyên sử dụng. Thường được dùng để loại bỏ nhiễu do máy ảnh

sinh ra. Smoothing quan trọng khi bạn muốn giảm độ phân giải của một bức

ảnh theo rất nhiều cách khác nhau. Bằng việc thay thế kiểu smooth và các thơng

số sẽ có các bức ảnh tương đối khác nhau tùy theo mục đích nhưng thường

dùng nhất vẫn là CV_GAUSSIAN.

o Nhị phân hóa một ảnh là q trình biến một ảnh xám thành ảnh nhị phân. Gọi

f(x,y) là giá trị cường độ sáng của một điểm ảnh ở vị trí (x,y), T là ngưỡng nhị

nhị phân. Khi đó, ảnh xám f sẽ được chuyển thành ảnh nhị phân dựa vào công

thức f(x,y) = 0 nếu f(x,y) ≤ T và f(x,y) = 255nếu f(x,y) > T. Hàm để chuyển nhị

phân hóa ảnh trong OpenCV là hàm threshold().

o Các phép tốn hình thái học là những phép toán liên quan tới cấu trúc hình học

(hay topo)của các đối tượng trong ảnh. Các phép tốn hình thái học tiêu biểu

bao gồm phép giãn nở(dialation) phép co (erosion), phép mở (opening) và phép

đóng (closing).

o



o



Phép toán giãn nở (dilation) .



Phép toán giãn nở được định trong đó, A là đối tượng trong ảnh, B là một

cấu trúc phần tử ảnh. Phép tốn này có tác dụng làm cho đối tượng ban đầu trong

ảnh tăng lên về kích thước (giản nở ra).Cấu trúc phần tử ảnh (image structuring

element) là một hình khối được định nghĩa sẵn nhằm tương tác với ảnh xem nó có

thỏa mãn một số tính chất nào đó khơng, một số cấu trúc phần tử hay gặp là cấu

trúc theo khối hình vng và hình chữ thập.



Hình 2. 29 Cấu28trúc phần tử ảnh.



Ứng dụng của phép giãn nở là làm cho đối tượng trong ảnh được tăng lên về kích

thước, các lỗ nhỏ trong ảnh được lấp đầy, nối liền đường biên ảnh đối với những đoạn

rời nhỏ …

o



Phép toán co (erosion).



Phép toán co trong ảnh được định nghĩa trong đó A là đối tượng trong ảnh, B là

cấu trúc phần tử ảnh.

Ta thấy rằng sau phép toán này đối tượng trong ảnh bị co lại, chính vì vậy mà nó

đượcứng dụng trong việc giảm kích thước của đối tượng, tách rời các đối tượng gần

nhau vàlàm mảnh, tìm xương đối tượng.

Phép tốn mở (opening) và đóng (closing) là sự kết hợ của phép co

(erosion) và giản (dialation) như trên, chúng được định nghĩa như sau:

o



Phép tốn mở :

Phép tốn đóng:



Phép tốn mở được ứng dụng trong việc loại bỏ các phần lồi lõm và làm cho

đường baođối tượng trong ảnh trở lên mượt mà hơn.

Phép tốn đóng được ứng dụng trong việc làm trơn đường bao đối tượng, lấp

đầy các khoảng trống trên biên và loại bỏ những hố nhỏ (một số pixel đứng thành cụm

độc lập.



Chương 3

PHƯƠNG TIỆN VÀ PHƯƠNG PHÁP NGHIÊN CỨU.



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

Tiến hành tìm hiểu hệ thống phát hiện và đếm số lượng cá giống, thiết kế các

mạch động lực, tìm hiểu vài cài đặt hệ điều hành lên Raspberry Pi B+, thiết kế mơ hình



29



phần cứng và cài chương trình phần mềm OpenCV 2.4 trên Raspberry với ngơn ngữ

Python.

3.2Phương tiện nghiên cứu.

• Webcam.

• Phần mềm OpenCV 2.4.

• Raspberry Pi B+.

• Phần mềm thiết kế mạch Altium designer.

• Hệ Raspbian và ngơn ngữ python.

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

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















Tìm hiểu các hệ thống phát hiện và đếm đối tượng.

Tìm hiểu phần mền OpenCV

Xây dựng các thuật tốn xác định và đếm cá giống.

Tìm hiểu về Màn hình LCD (Liquid crystal display).

Thiết kế mơ hình, thiết kế các mạch động lực.

Xây dựng các thuật toán điều khiển sử dụng thư viện OpenCV.



Chương 4

KẾT QUẢ VÀ THẢO LUẬN

4.1 Mơ hình hệ thống.



30



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

6 Tổng quan về OpenCV.

Tải bản đầy đủ ngay(0 tr)

×