Преобразование из пикселя в общую метрику (мм, дюйм) - PullRequest
0 голосов
/ 17 мая 2019

Я использую openCV для обработки изображения и использую крутые кружки для обнаружения окружностей в тестируемом изображении, а также вычисляю расстояние между их центрами, используя евклидово расстояние. Так как это будет в пикселях, мне нужны абсолютные расстояния в мм или дюймах, может кто-нибудь дать мне знать, как это можно сделать

Заранее спасибо.

1 Ответ

0 голосов
/ 17 мая 2019

Процесс формирования изображения предполагает получение двухмерной проекции реального трехмерного мира через объектив. В этом процессе теряется много информации (например, в третьем измерении), и преобразование зависит от свойств линзы (например, фокусного расстояния).

Преобразование между расстоянием в пикселях и физическим расстоянием зависит от глубины (расстояния между камерой и объектом) и объектива. Сложный, но более общий способ состоит в оценке глубины (существуют специализированные алгоритмы, которые могут делать это при определенных условиях, но требуют нескольких камер / перспектив) или использовать камеру глубины, которая может измерять глубину. Как только глубина известна, после учета эффектов проекции объектива можно сделать оценку.

Вы не предоставляете много информации о вашей настройке, но преобразование можно измерить экспериментально. Вы просто делаете снимок объекта с известными размерами и определяете физический размер одного пикселя (например, если объект имеет размер 10x10 см, а на изображении он имеет размер 100x100 пикселей, то 10 пикселей равен 1 мм). Это сильно зависит от расстояния до камеры от объекта.

Немного более автоматизированный подход заключается в использовании определенного шаблона (например, шахматной доски) известных размеров. Оно может быть автоматически обнаружено на изображении и может быть выполнено то же преобразование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...