2009-09-01 29 views
10

Tôi có nguồn cấp dữ liệu video. Nguồn cấp dữ liệu video này có một số đèn nhấp nháy ở các mức giá khác nhau. Tất cả các đèn đều có cùng màu (tất cả đều là đèn LED hồng ngoại). Làm cách nào để phát hiện vị trí và tần suất của các đèn nhấp nháy này?OpenCV: Phát hiện đèn nhấp nháy trong nguồn cấp dữ liệu video

Tuyên bố từ chối trách nhiệm: Tôi là cực kỳ mới đối với OpenCV. Tôi có một bản sao của Học OpenCV, nhưng tôi thấy nó hơi áp đảo. Nếu bất cứ ai có thể giải thích một giải pháp trong thuật ngữ OpenCV, nó sẽ được đánh giá cao. Tôi không mong đợi mã được viết cho tôi.

Trả lời

8

Ngưỡng từng hình ảnh trong chuỗi với ngưỡng làm cho đèn LED hiển thị. Nếu bạn có thể ngưỡng ngưỡng đó chỉ với , chỉ giữ đèn LED và xóa nền sau đó bạn đã hoàn thành ít hơn vì tất cả những gì bạn cần làm bây giờ là theo dõi từng vị trí đã thấy đèn LED và đếm tần suất xuất hiện .

Là một bước giữa, nếu có "tiếng ồn nền" trong hình ảnh bị ngưỡng sẽ sử dụng xói mòn để loại bỏ những sai lầm nhỏ, và sau đó có thể giãn ra để "đóng lỗ" trong các đốm màu bạn thực sự quan tâm.

Nếu cảnh tĩnh, bạn cũng có thể tạo một mô hình nền đơn giản bằng cách lấy trung bình của một vài khung và xóa hình ảnh trung bình kết quả khỏi bất kỳ khung và ngưỡng nào. Thứ đã thay đổi (đèn LED của bạn) sẽ xuất hiện mạnh hơn.

Nếu cảnh đang di chuyển, tôi không thấy giải pháp nào khác (dễ dàng) hơn là đảm bảo đèn LED đủ sáng để có thể sử dụng phương pháp ngưỡng được nêu ở trên.

Đối với OpenCV: nếu bạn biết bạn muốn làm gì, không khó để tìm ra một hàm thực hiện nó. Phần khó khăn là đến với một phương pháp để giải quyết vấn đề, không phải là mã hóa thực tế.

+0

Cảm ơn bạn rất nhiều về các mẹo! Điều này chắc chắn sẽ giúp! –

1

Nếu đèn LED đứng yên, vấn đề sẽ đơn giản hơn nhiều so với khi chúng đang di chuyển. Giả sử chúng là cố định, một giải pháp để tìm tần số có thể đơn giản là giữ một véc tơ hoặc một mảng cho mỗi vị trí pixel mà bạn lưu trữ các giá trị của pixel đó, tốt nhất là sau khi tiền xử lý được mô tả bởi kigurai, trong một khoảng thời gian nào đó. Sau đó bạn có thể tính toán biến đổi FDM 1D của các vectơ giá trị đó và tìm tần số mặt đất làm thành phần quan trọng đầu tiên sau đỉnh DC. Nếu đỉnh DC quá thấp, điều đó có nghĩa là không có dẫn đầu ở đó.

Hy vọng vấn đề này vẫn còn phần nào thực tế và giải pháp của tôi có ý nghĩa.

+1

Không phải là câu trả lời của bạn là sai, nhưng để tìm tần số của một nhấp nháy dẫn tôi nghĩ rằng biến đổi ô nhiễm có thể là quá mức cần thiết. Đơn giản chỉ cần đếm số lượng khung hình "tắt" và số lượng khung hình "trên" nên cung cấp cho một kết quả đủ tốt, tôi nghĩ rằng, mặc dù điều đó phụ thuộc vào cách "sạch" các tín hiệu được. –

Các vấn đề liên quan