У меня есть панорамный однократный объектив отсюда: http://www.0-360.com/ и я написал скрипт, используя библиотеку изображений python, чтобы «развернуть» изображение в панораму. Я хочу автоматизировать этот процесс, так как в настоящее время мне нужно указать центр изображения. Кроме того, было бы неплохо получить радиус круга. Входное изображение выглядит следующим образом:
А «развернутое» изображение выглядит так:
До сих пор я пробовал обнаружение Hough Circle. У меня есть проблемы с выбором правильных значений для использования. Кроме того, иногда кажется, что темные объекты рядом с центральным кругом отбрасывают его.
Другие идеи, которые у меня были:
- Обнаружение Hough Line развернутого изображения. По сути, выберите центральный пиксель в качестве центра, затем разверните и посмотрите, являются ли линии сверху и снизу прямыми или «извилистыми». Если не прямо, то продолжайте пробовать с разными центрами.
- Обнаружение моментов/блоба. Может быть, я смогу найти центральную каплю и найти центр этого. Проблема в том, что иногда я получаю яркое кольцо в центре темного диска, как показано на изображении выше. Также проблема с темными объектами возле центра.
- Покрасить верхний скос зеркала отчетливым цветом, например, зеленым, чтобы облегчить обнаружение круга? Если я использую зеленый и использую только зеленый канал, будет ли обнаружение проще?
Какой лучший метод я должен попытаться использовать, чтобы получить центр этого изображения и, возможно, радиус внешнего и внутреннего колец.