Короткий ответ
cvCanny используется для обнаружения краев, а также увеличения контрастности и удаления шумов изображения. HoughLines, который использует преобразование Hough, используется для определения того, являются ли эти ребра линиями или нет. Для преобразования Hough Trans необходимо, чтобы ребра были хорошо распознаны, чтобы быть эффективными и предоставлять результаты.
Длинный ответ
В Ограничения Hough Transform описаны более подробно в Википедии.
Эффективность преобразования Hough зависит от того, что бункер accuctumated pixel отличается, например. прямой контраст между пикселем и окружающими его соседями или при использовании области маски область пикселей и ее окружающие области. Если бы все пиксели имели похожие значения, то ничто не выделялось бы как линия или круг. Это приводит к уменьшению цвета (цвет в оттенки серого, оттенки серого до черного и белого), чтобы увеличить контракт.
Число параметров для преобразования Хафа также увеличивает распространение голосов в ячейках пикселей и увеличивает сложность преобразования, а это означает, что, как правило, только линии или круги надежно обнаруживаются с использованием его, поскольку они имеют менее 3 параметров ,
Края должны быть обнаружены задолго до запуска трансформации Хафа, иначе его эффективность будет еще более высокой. Также шумные изображения не очень хорошо работают с преобразованием Hough, если только шум не будет удален.
Просьба предоставить минимальный рабочий пример и ссылку на один из «многих учебников», на которые вы ссылаетесь. – Unapiedra
Спасибо за ссылки! – Unapiedra