Я разрабатываю приложение для зрения, которое использует цветовую диаграмму ниже и камеру для извлечения цвета каждого пятна на диаграмме. Чтобы сделать это, я должен сначала обнаружить область диаграммы в изображении и сопоставить область с существующим шаблоном, который содержит местоположения исправлений.
Мой вопрос: мне нужно определить область цветового пятна, распознав четыре угла диаграммы. Вы можете видеть углы, обозначенные маленькими вставленными прямоугольниками на изображении ниже. Я знаю, что один из способов сделать это - позволить пользователю выбирать эти углы, щелкая по нему. Но есть ли способ автоматически определять четыре угла изображения.
image-processing
Тае Сунг Шин
источник
источник
Ответы:
Вы можете разместить грубые линии, чтобы определить цветовую зону
источник
Каждый двумерный массив цветового компонента (RGB и т. Д.) Достаточно высококонтрастный и отличительный. Поэтому я мог бы попытаться использовать сложное 2D БПФ каждого цветового компонента, чтобы определить масштаб и смещение фотоизображения по сравнению с эталонным изображением. Затем используйте их, чтобы отрегулировать измеренные / известные координаты углов и / или участков на эталонном изображении, чтобы получить координаты на фотографии.
Возможно, вам придется измерить некоторые координаты на эталонном изображении, используя редактор растровых изображений.
источник
В качестве первого шага - я бы удалил весь беспорядок с серым цветом и текстом. Начиная со всех четырех сторон, я остановлюсь до тех пор, пока большинство пикселей не получат однозначно известного "серого" цвета.
Это оставит вас только с шашечной доской, состоящей из разных цветов. Вы ожидаете около 22x12 - около 264 цветов.
Самый простой способ - применить более простой алгоритм палатализации. Если вам нужно будет перевести это в GIF-изображение - оно применяет квантование цвета для каждого кластера цвета, представленного в виде цвета центроида.
Это было бы особенно легко в вашем случае, потому что источник уже является чем-то вроде вкуса, и вы можете сделать хорошее приличное предположение, чтобы начать.
Проверь это:
NeuQuant: http://members.ozemail.com.au/~dekker/NEUQUANT.HTML
Квантование цвета Octree: http://www.cubic.org/docs/octree.htm . Смотрите это также.
Это только некоторые ссылки; но вы найдете готовый код в большинстве библиотек, использующих такие форматы изображений. (BMP, PNG и GIF поддерживают такие представления). Также проверьте libpng и libjpeg для некоторых быстрых реализаций.
источник
Почему бы не искать границы графика вместо углов? Вы можете попробовать использовать детектор краев, а затем найти прямые линии, используя преобразование Хафа.
источник