Tính độ chuyển vết của chuyển động

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán phát hiện chuyển động (Trang 73 - 75)

Trong hàm này, tất cả các mảng ảnh đều là đơn kênh. Tham số mhi là ảnh lịch sử chuyển động mang các giá trị thực. Các biến delta1, delta2 là biên độ cực tiểu, cực đại của độ chuyển cho phép. Thƣờng thì giá trị delta1 đƣợc thiết lập bằng 0,5 và 1,5 lần giá trị trung bình xác định trong cvUpdateMotionHistory(). Giá trị aperture_size mang giá trị kích thƣớc chiều rộng, chiều cao của toán tử tạo độ chuyển. Các giá trị này có thể là:

 aperture_size = -1: CV_SCHARR kích thƣớc 3x3  aperture_size = 3: ứng với bộ lọc Sobel 3x3  aperture_size = 5: ứng với bộ lọc Sobel 5x5  aperture_size = 7: ứng với bộ lọc Sobel 7x7

Hàm trả về: mask là ảnh 8 bit đơn kênh với các giá trị khác 0 là các độ chuyển hợp lệ đƣợc tìm thấy, orientation là ảnh với các giá trị thực chứa góc của hƣớng chuyển tại mỗi điểm ảnh.

Hàm cvCalcGlobalOrientation() tìm hƣớng toàn cục của chuyển động nhƣ là véc-tơ tổng của tất cả các hƣớng độ chuyển hợp lệ.

double cvCalcGlobalOrientation( const CvArr* orientation, const CvArr* mask, const CvArr* mhi, double timestamp, double duration );

Khi sử dụng cvCalcGlobalOrientation(), chúng ta truyền vào ảnh

orientationmask đƣợc tính ở hàm cvCalcMotionGradient() cùng với

timestamp, duration và ảnh mhi xác định từ lời gọi hàm

cvUpdateMotionHistory(). Giá trị nhãn thời gian timestamp cùng với duration

cho phép hàm xác định đƣợc giá trị chuyển động từ mhiorientation.

Chúng ta cũng có thể tác các vùng trong ảnh mẫu chuyển động mhi và xác định chuyển động cục bộ trong các vùng của ảnh. Trong hình dƣới đây, ảnh mhi

đƣợc quét từ vùng của vệt hiện tại. Khi một vùng đƣợc đánh dấu với nhãn thời gian gần nhất đƣợc tìm thấy thì sẽ xác định đƣợc chu vi của vùng đó để tính chuyển động trong đó.

Một phần của tài liệu (LUẬN văn THẠC sĩ) thuật toán phát hiện chuyển động (Trang 73 - 75)

Tải bản đầy đủ (PDF)

(86 trang)