Мені потрібно знайти квадрати на зображенні за допомогою OpenCV (жодна проблема в matlab чи будь-який інший, як правило, те, що я очікую, є деякі ідеї).
Розглянемо тестове зображення нижче:
Мені потрібно точно знайти ці кольорові квадрати на зображенні вище (не білі довгі смужки).
Що я зробив :
Я застосував звичайний метод (який поставляється із зразками OpenCV), тобто знайшов контури у всіх кольорах площини, наблизив його та перевірив на кількість елементів = 4. Деяк це працює, що виявлено небагато квадратів, особливо темних.
Наступним кроком, який я зробив, було прогнозування . тобто ця домовленість є фіксованою . Отже, якщо деякі отримані, я можу передбачити залишилися. Це також працювало до певного розширення. Але точність була дуже поганою.
Але я вважаю, що прогнозування тут не є гарним методом, і він не завжди дає точні відповіді, як дано на першому кроці.
Що мені потрібно:
1) Чи існують інші кращі методи виявлення цих квадратів точніше? Або кілька методів?
Важливим моментом є те, що час тут не є проблемою . Алгоритм може бути повільним, неважливо. Але точність - головний критерій.
Іноді зображення можуть бути набагато розмитішими.
І одна з найважливіших проблем, з якою я стикався, полягає в тому, що деякі квадрати мають майже подібний колір, як і фон (перевірте колонку 3 першого та другого квадратів).
Шукаєте ідеї, дякую заздалегідь
ОНОВЛЕННЯ:
Нижче наведено максимально точний результат, який я отримав:
Звичайно, результат зображення трохи змінено.
ОНОВЛЕННЯ 2:
Я відповів набагато краще рішення у своїй відповіді нижче: https://dsp.stackexchange.com/a/7526/818