Rate this post

Trích xuất khối có nghĩa là tách các BLOB (đối tượng) trong một hình ảnh nhị phân. BLOB chứa một nhóm các pixel được kết nối. Chúng tôi có thể xác định xem hai pixel có được kết nối hay không bằng kết nối, tức là pixel nào là hàng xóm của pixel khác. Có hai loại kết nối. 8 kết nối và 4 kết nối . Kết nối 8 tốt hơn nhiều so với kết nối 4.

Các bài viết liên quan:

Đại diện BLOB

Biểu diễn BLOB chỉ đơn giản là chuyển đổi BLOB thành một vài số đại diện. Sau khi trích xuất BLOB, bước tiếp theo là phân loại một số BLOB. Có hai bước trong quy trình đại diện BLOB. Trong bước đầu tiên, mỗi BLOB được biểu thị bằng một số đặc điểm và bước thứ hai là áp dụng một số phương pháp đối sánh để so sánh các đặc điểm của từng BLOB.

Phân loại BLOB

Ở đây chúng tôi xác định loại BLOB, ví dụ, BLOB đã cho có phải là hình tròn hay không. Ở đây câu hỏi đặt ra là làm thế nào để xác định BLOB là vòng tròn và BLOB nào không dựa trên các đặc điểm của chúng mà chúng tôi đã mô tả trước đó. Với mục đích này, nói chung chúng ta cần tạo một mô hình nguyên mẫu của đối tượng mà chúng ta đang tìm kiếm.

Làm thế nào để thực hiện Background Subtraction?

Phép trừ nền được sử dụng rộng rãi để tạo mặt nạ tiền cảnh. Các hình ảnh nhị phân chứa các pixel thuộc về các đối tượng chuyển động trong cảnh. Phép trừ nền tính toán mặt nạ nền trước và thực hiện phép trừ giữa khung hiện tại và mô hình nền.

Có hai bước chính trong tạo mô hình nền

  • Khởi tạo nền – Trong bước này, một mô hình ban đầu của nền được tính toán.
  • Cập nhật nền- Trong bước này, mô hình đó được cập nhật để điều chỉnh sự thay đổi có thể xảy ra trong cảnh.

Phép trừ thủ công từ khung hình đầu tiên

Đầu tiên, chúng tôi nhập các thư viện và tải video. Tiếp theo, chúng tôi lấy khung hình đầu tiên của video, chuyển nó thành thang độ xám và áp dụng Gaussian Blur để loại bỏ một số nhiễu. Chúng tôi sử dụng vòng lặp while, vì vậy chúng tôi tải từng khung một. Sau khi thực hiện việc này, chúng ta nhận được phần cốt lõi của nền của phép trừ, nơi chúng ta tính toán sự khác biệt tuyệt đối giữa khung đầu tiên và khung hiện tại.

Ví dụ 1

Phép trừ bằng phép trừ MOG2

OpenCV cung cấp bộ trừ MOG2 hiệu quả hơn chế độ thủ công. Subtractor MOG2 có lợi ích khi làm việc với lịch sử khung. Cú pháp như sau:

Đối số đầu tiên, lịch sử là số của khung cuối cùng (theo mặc định là 120).

Đối số thứ hai, varThreshold là giá trị được sử dụng khi đánh giá sự khác biệt để trích xuất nền. Một ngưỡng thấp hơn sẽ tìm thấy nhiều biến thể hơn với lợi thế là hình ảnh ồn ào hơn.

Đối số thứ ba, DiscoverShadows là các chức năng của thuật toán có thể loại bỏ bóng nếu được bật.

Trong đoạn mã trên, cv2.VideoCapture (“Filename”) chấp nhận đường dẫn đầy đủ bao gồm tệp trong đó cv2.createBackgroundSubtractorMOG2 () sẽ loại trừ nền khỏi tệp video.

Leave a Reply

Call now
%d bloggers like this: