Як розпізнати кольори з кольорової діаграми?


9

Я розробляю програму бачення, яка використовує кольорову діаграму нижче та камеру, щоб отримати колір кожного патча в діаграмі. Для цього мені потрібно спочатку виявити область діаграми на зображенні та співставити область з існуючим шаблоном, який містить розташування виправлень.

Моє запитання: мені потрібно визначити область кольорового патчу, розпізнавши чотири кути діаграми. Ви можете побачити кути, які маленькі прямокутні вставки вказують на зображенні нижче. Я знаю, що один із способів зробити це - дозволити користувачеві вибирати ці кути, натискаючи його. Але чи є спосіб автоматично виявити чотири кути зображення.

введіть тут опис зображення


Просто цікаво, де можна придбати таку кольорову довідкову діаграму?
hotpaw2

@ hotpaw2 Як майже завжди, google. Шукайте термін "it8 target"
Tae-Sung Shin

Відповіді:


4

Ви можете розмістити лінії Хоуг, щоб визначити кольорову область

  • Спочатку виявіть усі лінії
  • Лінії з найбільшою довжиною були б найбільш зовнішніми
  • Оберіть верхню горизонтальну лінію і зробіть відповідність шаблонів для квадратів.
  • Як тільки ви знайдете квадрати, пройдіться вниз, щоб дійти до іншого набору квадратів.
  • Позначте всі точки, де були знайдені квадрати
  • Тепер у вас є огороджувальна зона для кольорової діаграми.

2

Кожен 2D масив кольорового компонента (RGB, et.al.) має досить високу контрастність та виразність. Тому я можу спробувати використовувати складний 2D FFT кожного кольорового компонента для визначення масштабу та зміщення фотозображення порівняно з еталонним зображенням. Потім скористайтеся тими, щоб відрегулювати виміряні / відомі координати кутів та / або патчів на еталонному зображенні для отримання координат на фотографії.

Вам, можливо, доведеться спочатку виміряти деякі координати на еталонному зображенні за допомогою редактора растрових зображень.


1

Як перший крок - я б усунув усі загрози сірим та текстом. Починаючи з усіх чотирьох сторін, я зупинюся, поки більшість пікселів не мають однозначно "сірого" кольору.

У вас залишиться лише шашка, що складається з різних кольорів. Ви очікуєте приблизно 22х12 - приблизно 264 кольори.

Найпростішим методом було б застосування більш простого алгоритму палаталізації. Якщо вам доведеться перекласти це в GIF-зображення - воно застосовує квантування кольорів з кожним кластером кольору, представленим як кольоровий центр.

Це було б особливо просто у вашому випадку, оскільки джерело - це вже якесь піднебіння, і ви можете зробити хороший пристойний здогад для початку.

Заціни:

NeuQuant: http://members.ozemail.com.au/~dekker/NEUQUANT.HTML

Квантування кольорів жовтня: http://www.cubic.org/docs/octree.htm . Дивіться також це .

Це лише деякі посилання; але ви знайдете готовий до використання код у більшості бібліотек, які використовують такі формати зображень. (BMP, PNG та GIF підтримує такі уявлення). Також ознайомтеся з libpng та libjpeg для швидких реалізацій.


0

Чому б не шукати межі діаграми, а не кути? Ви можете спробувати скористатися детектором краю, а потім знайти прямі лінії за допомогою трансформації Хоуфа.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.