Tiến trình xử lý ảnh

Một phần của tài liệu Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 51 - 54)

4.3.1 Xác định dấu phân cách làn đường. 4.3.1.1 Thu thập hình ảnh từ Webcam.

Sử dụng hàm imaq.VideoDevice để thu tập hình ảnh từ webcam với cú pháp : >> hVideoSrc = imaq.VideoDevice('winvideo',2,'RGB24_640x480', ... 'ROI', [140 240 360 240], ...

'ReturnedColorSpace', 'rgb'); Trong đó vùng quan tâm ROI , với ý nghĩa như Hình 4.3.

Hình 4. 1 Vùng quan tâm

Sau đó, dùng lệnh step(hVideoSrc) để trích xuất từng khung hình rồi tạo vòng lặp xử lý.

47

Hình 4. 2 Ảnh được trích xuất

Code chương trình: Phụ Lục A.

4.3.1.2 Biến đổi ảnh và lọc ảnh

Nội dung có ý nghĩa để xác định dấu phân cách làn đường trong ảnh là các vạch kẻ đường. Nên chỉ quan tâm tới phần hình ảnh của vạch kẻ đường. Trên hình 4.4, vùng có ý nghĩa chính là phần dưới của khung hình. Vì vậy, cần hạn chế lại vùng quan sát như hình 4.3

Hình 4. 3 Hình giới hạn quan sát

Dùng hàm vision.ColorSpaceConverter chuyển ảnh RGB sang ảnh cường độ như hình 4.6.

48 Dùng hàm vision.ImageFilter để lọc ảnh và hàm vision.Autothresholder để chuyển ảnh xám đã lọc sang ảnh nhị phân như hình 4.5.

Hình 4. 5 Ảnh nhị phân

Code chương trình: Phụ Lục A.

4.3.1.3 Thực hiện biến đổi Hough

Dùng phương pháp biến đổi Hough xác định đường thẳng trong ảnh bằng hàm vision.HoughTransform và vision.LocalMaximaFinder, vision.HoughLines. Với cú pháp: hHough = vision.HoughTransform( ... 'ThetaRhoOutputPort', true, ... 'OutputDataType', 'single'); hLocalMaxFind = vision.LocalMaximaFinder( ... 'MaximumNumLocalMaxima', ExpLaneNum, ... 'NeighborhoodSize', [301 81], ... 'Threshold', 1, ... 'HoughMatrixInput', true, ... 'IndexDataType', 'uint16'); hHoughLines1 = vision.HoughLines('SineComputation', 'Trigonometric function'); Code chương trình: Phụ Lục A.

4.3.2 Xác định dấu phân cách trái- phải và chèn đánh dấu làn đường.

Dấu phân cách làn đường trái phải được xác định dựa vào giao điểm của nó với đường bao phía dưới cùng của ảnh. Chương trình sẽ tính toán khoảng cách các từ tâm của khung ảnh tới các dấu phân cách làn đường. Từ đó xuất tín hiệu cảnh báo nếu một trong các trường hợp sau xảy ra:

- Dấu phân cách làn đường phía bên phải khung hình giao với đường bao phía dưới cùng của khung hình. Sẽ cho tín hiệu lệch phải.

49 - Dấu phân cách làn đường phía bên trái khung hình giao với đường bao phía dưới

cùng của khung hình. Sẽ cho tín hiệu lệch trái.

- Không có dấu phân cách nào giao với đường bao phía dưới của khung hình. Sẽ cho tín hiệu đúng làn.

Code của chương trình: Phụ Lục B.

Một phần của tài liệu Nghiên cứu hệ thống quan sát cho xe trong việc xác định tình trạng giao thông đồ án tốt nghiệp ngành công nghệ kỹ thuật ô tô (Trang 51 - 54)