Я работаю над обнаружением кромок, я попробовал метод canny (функция matlab). но он только обнаруживает край на уровне пикселей, я ищу алгоритм/код обнаружения субпиксельного края с высокой точностью.Алгоритм детектора субпиксельного края
ответ
Современные алгоритмы обнаружения края AFAIK работают с точностью до уровня пикселей (например, gPb).
Если вы хотите получить субпиксельную точность, вы можете применить этап пост-обработки к результатам на уровне пикселей, полученным canny или gPb.
Вы можете поместить параметрическую кривую в небольшие окрестности обнаруженных ребер, получая таким образом субпиксельную точность.
Проблема с запуском edge()
на вашем исходном изображении заключается в том, что возвращаемое черно-белое изображение имеет тот же размер, что и исходное изображение. Можете ли вы увеличить размер вашего изображения с помощью функции imresize()
и сделать это с помощью обнаружения края?
Большинство из этих алгоритмов обнаружения края субпикселя просто включают в себя повышение частоты изображения, обычно с бикубической сплайновой интерполяцией, а затем выполнение обнаружения края по результату, а затем снова понижающую дискретизацию изображения до исходного разрешения.
Испытывали ли вы все эти простые алгоритмы? Являются ли они подходящими для ваших целей?
Алгоритмы передискретизации и определения границ алгоритмов Matlab уже достаточно хорошо документированы.
+1 Это прямое решение. В противном случае он становится сложным, например, подгонка кривой к краю и интерполяция. – chappjc
Если вам требуется обнаружение субпикселей, вы можете попробовать метод subpixelEdges() в Matlab, основанный на статье «Точное местоположение субпиксельного края на основе эффекта частичной области».
http://es.mathworks.com/matlabcentral/fileexchange/48908-accurate-subpixel-edge-location
- 1. Файл модели для детектора структурированного края OpenCV
- 2. лапласиан гауссова (LOG) детектора края в MATLAB
- 3. Алгоритм для рисования направления края
- 4. Алгоритм обхода края графа, некоторые необходимые края, некоторые необязательные
- 5. Как улучшить точность алгоритма краевого детектора?
- 6. Эффективная реализация детектора блочного детектора Hessian-Laplace
- 7. Алгоритм определения угла края/угла фаз
- 8. алгоритм кратчайшего пути через все края
- 9. Алгоритм Dijsktra для принятия единственного отрицательного края
- 10. Алгоритм обнаружения бортового края - проблемы с реализацией
- 11. Алгоритм обнаружения расширенного края в обработке изображений
- 12. IE9 нет субпиксельного сглаживания при граничном радиусе
- 13. Временная сложность детектора Canny edge
- 14. Заполнение результата детектора окантовочного осколка opencv
- 15. метки метки края края с использованием cytoscape.js
- 16. найти низкий контраст края
- 17. ориентация Края
- 18. Реализация углового детектора Harris
- 19. Ошибка детектора Iterator
- 20. жесты детектора не работают
- 21. Оптимизация углового детектора harris
- 22. Алгоритм Алмаз-Квадрат, кажется, принимает значения от противоположного края массива
- 23. Обработка изображения и поиск внешнего края. Найти алгоритм
- 24. Какой алгоритм обнаружения края в OpenCV подходит для обнаружения объектов?
- 25. алгоритм выбора наилучшего края для повторного ввода после удаления
- 26. Найти края изображений
- 27. Неисправности детектора жестов в recyclerview
- 28. Выбор лучшего опенчевого детектора лица
- 29. Создание настраиваемого детектора Java Lint
- 30. Использование детектора утечки памяти VIsual
Я использовал такой алгоритм давно для тестирования производительности некоторых изображений оборудования, он был прост и работал очень хорошо. Но он применяется только к вертикальным или горизонтальным краям. У вас есть аналогичное ограничение? –
Не могли бы вы уточнить изображения, для которых вы хотите найти края? Поиск подпиксельных кромок подходит для линий и кривых прямо, если вы знаете правильное направление сканирования. Если вы просто ищете все ребра для произвольных кривых в любом произвольном изображении, то это другое дело. – Rethunk