Странные результаты преобразования расстояний OpenCV
-
05-07-2019 - |
Вопрос
Я пытаюсь выполнить преобразование расстояния на двоичном изображении с пороговым значением в чтобы помочь обнаружить аномалию (я надеюсь, что я могу обнаружить большие изменения по краям объекта), однако по какой-то при выполнении сценария «Преобразование расстояния» я получаю странный тип эффект. Я протестировал нечто подобное в демонстрационном скрипте Distance Transform в каталог с примерами, с теми же результатами. Одна из возможных причин, по которой я пришел с было то, что расстояние выходило за пределы шкалы 0-255 и, следовательно, по существу будучи модулем, чтобы держать его в границах. Есть кто-нибудь был опыт с этим, который мог бы посоветовать? Я разместил изображения и код в своем блоге, если это поможет Заранее спасибо, Ian
Решение
Один быстрый способ проверить свою теорию: попробуйте с отключенным изображением серой шкалы (все значения v -> 128+ (v-128) / 32 или что-то в этом роде) и посмотрите, не делает ли это полосы намного шире или исключает их их полностью.
Это всегда хорошая идея, чтобы сначала определить причину проблемы, а затем попытаться ее исправить.
Другие советы
Я не могу помочь с кодом, но я хотел бы отметить, что ожидаемый результат в вашем блоге, вероятно, также неверен: посмотрите на четкую черно-серую границу в нижней части большого объекта: не должно быть там, поскольку максимальная разница между двумя соседними пикселями должна быть 1.