Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Распознавание [координат] шахматной доски.


Автор: whoami 24.7.2006, 03:24
Всем привет.

Возникла следущая задача: дана фотография, со всеми прилагающимися искажениями, шумом и т.д., на которой есть шахматная доска (демонстрационная или книжная). Необходимо выделить в отдельное квадратное изображение только доску. Т.е. фактически необходимо найти на исходном изображении 4 точки - 4 угла доски. При этом хочется сделать максимально универсально - доска может быть не только слегка повернута и наклонена, но даже не являться аффинным отображением квадрата.

Первое, что пришло в голову- связка Canny Edge Detect/Hough Line Detect, но результаты были неудачные. На реальных изображение даже вручную не сразу подберешь параметры, чтоб выделить линии между клетками... Выделялись или не все необходимые или лишние, которые помешали бы для дальнейшего определения сетки как доски...

С Computer Vision/Image Processing только начинаю знакомство...
Может кто-нибудь уже сталкивался с похожими проблемами, или знает методы?

Заранее благодарю за любую помощь.

P.S. во всех попытках использовал библиотеку OpenCV.
P.P.S. Тамже есть нечто Haar Classifier/Cascade, но никак не найду доки по теме. Может кто знает что это и может ли оно мне помочь?  

Автор: whoami 25.7.2006, 00:18
Ну что, совсем ни кто не в курсе? smile   

Автор: DENNN 25.7.2006, 10:00
я занимался именно такой задачей. В двух словах: нужен комплексный подход, только каким-то одним алгоритмом надеэного решения не добъешься.
Если устраивает грубый результат, то можно воспользоваться бибилиотекой Intel OpenCV - там есть утилита калибровки камеры по изображению шахматной доски. Тот же алгоритм, но с чуть большими фиксами (и разбузанием кода ) есть под MatLab. Поиск в интернете еще никто не отменял 

Автор: whoami 25.7.2006, 16:15
Цитата(DENNN @  25.7.2006,  10:00 Найти цитируемый пост)
можно воспользоваться бибилиотекой Intel OpenCV - там есть утилита калибровки камеры по изображению шахматной доски

cvFindChessboardCorners .... я ее пробовал -  ничего не находит. там, как я понял, всё изображение должна занимать шахматная доска, но в реальных изображениях это не так.
  

Автор: DENNN 27.7.2006, 11:06
поэтому я и говорю: нужен комплексный подход, одним алгоритмом надежного решения не получишь.

Добавлено @ 11:07 
К примеру Hough из той же бибилитеки, с последующим анализом найденных прямых 

Автор: whoami 27.7.2006, 20:35
>Первое, что пришло в голову- связка Canny Edge Detect/Hough Line Detect, но результаты были неудачные. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)