Tôi cần tìm các hình vuông trong một hình ảnh bằng cách sử dụng OpenCV (không có vấn đề gì trong MATLAB hoặc bất kỳ hình thức nào khác, nói chung những gì tôi mong đợi là một số ý tưởng).
Hãy xem xét hình ảnh thử nghiệm dưới đây:
Tôi cần tìm những ô vuông màu trong hình trên một cách chính xác (không phải các dải dài màu trắng).
Những gì tôi đã làm xong :
Tôi đã áp dụng phương pháp phổ biến (đi kèm với các mẫu OpenCV), tức là tìm các đường viền trong tất cả các mặt phẳng màu, xấp xỉ nó và kiểm tra số phần tử = 4. Nó hoạt động đến một số mở rộng rằng, một vài hình vuông được phát hiện, đặc biệt là những hình tối.
Bước tiếp theo tôi đã làm là dự đoán . tức là sự sắp xếp này là cố định . Vì vậy, nếu một số thu được, tôi có thể dự đoán những cái còn lại. Nó cũng làm việc để một số mở rộng hơn nữa. Nhưng độ chính xác là rất xấu.
Nhưng tôi cảm thấy dự đoán không phải là một phương pháp tốt ở đây và nó không phải lúc nào cũng cung cấp câu trả lời chính xác như được đưa ra bởi bước đầu tiên.
Tôi cân gi :
1) Có phương pháp nào khác tốt hơn để phát hiện các ô vuông này chính xác hơn không? Hay nhiều phương pháp?
Một điểm quan trọng là, thời gian không phải là vấn đề ở đây . Thuật toán có thể chậm, không thành vấn đề. Nhưng độ chính xác là tiêu chí chính.
Đôi khi, hình ảnh có thể mờ hơn nhiều.
Và một trong những vấn đề lớn mà tôi gặp phải là một số hình vuông có màu gần giống với màu nền (kiểm tra cột 3 hình vuông thứ nhất và thứ hai).
Tìm kiếm ý tưởng, cảm ơn trước
CẬP NHẬT:
Dưới đây là kết quả chính xác tối đa tôi nhận được:
Tất nhiên, hình ảnh kết quả được thay đổi kích thước một chút.
CẬP NHẬT 2:
Tôi đã đưa ra một giải pháp tốt hơn nhiều trong câu trả lời của mình dưới đây: https://dsp.stackexchange.com/a/7526/818