Спустя продолжительное время, хочу отчитаться об результатах.
К сожалению, конкретные фотографии предоставить не могу ввиду NDA, но опишу словами.
Переход в HSV пространство оказался правильным решением. Поиск лапласиана гауссианы и бинаризация близких к нулю значений пишется в несколько строк, но дальнейшая работа в EgmuCV 2.7 была сильно осложнена проблемой конвертации Image float в Image Byte - процесс занимает на удивление много времени для изображения в 1280*720 пикселей. В сочетании с дальнейшими морфологическими операциями и поиском границ Canny.... всё было очень плохо.
В то же время, тимлид от скуки набросал решение иного плана: сглаживание и бинаризация. При этом, каждый пиксель проверялся на принадлежность трем диапазонам значений, подобранных экспериментальным путем. Дальнейшие операции - морфология и кэнни.
Подобный велосипед, увы, работал быстрее.
Зараза такая.
p/s так как этот проект был первым опытом как в машинном зрении, так и в создании серьезного приложения, я не могу исключить того, что проблемы производительности были вызваны низким качеством моего кода.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
К сожалению, конкретные фотографии предоставить не могу ввиду NDA, но опишу словами.
Переход в HSV пространство оказался правильным решением. Поиск лапласиана гауссианы и бинаризация близких к нулю значений пишется в несколько строк, но дальнейшая работа в EgmuCV 2.7 была сильно осложнена проблемой конвертации Image float в Image Byte - процесс занимает на удивление много времени для изображения в 1280*720 пикселей. В сочетании с дальнейшими морфологическими операциями и поиском границ Canny.... всё было очень плохо.
В то же время, тимлид от скуки набросал решение иного плана: сглаживание и бинаризация. При этом, каждый пиксель проверялся на принадлежность трем диапазонам значений, подобранных экспериментальным путем. Дальнейшие операции - морфология и кэнни.
Подобный велосипед, увы, работал быстрее.
Зараза такая.
p/s так как этот проект был первым опытом как в машинном зрении, так и в создании серьезного приложения, я не могу исключить того, что проблемы производительности были вызваны низким качеством моего кода.