Lexm
Пользователи-
Количество публикаций
13 -
Зарегистрирован
-
Посещение
Репутация
0 НовичекО Lexm
-
Звание
Бывалый
-
В results, как и положено, 20 значений. Находится:
-
Все равно не работает: Исходник: Контуры: Результат: Что я делаю не так? double templScale = 1; int maxMatches = 20; // 20 double minMatchDistance = 1; int padX = 3;//3; int padY = 3;//3; int scales = 40;//5; double minScale = 0.6; //0.2; double maxScale = 1.6; //1.8; double orientationWeight = 0.5; double truncate = 20; //20; int best = chamerMatching( img1, tpl, results, costs, templScale, maxMatches, minMatchDistance, padX, padY, scales, minScale, maxScale, orientationWeight, truncate);
-
Спасибо, мой косяк. У меня отрисовывается контур с минимальным отличием: int best = chamerMatching( img1, tpl, results, costs, templScale, maxMatches, minMatchDistance, padX, padY, scales, minScale, maxScale, orientationWeight, truncate); if( best < 0 ) { printf("matching not found"); return -1; } size_t i, n = results[best].size(); for( i = 0; i < n; i++ ) { Point pt = results[best][i]; if( pt.inside(Rect(0, 0, cimg.cols, cimg.rows)) ) cimg.at<Vec3b>(pt) = Vec3b(0, 255, 0); } imshow("result", cimg);
-
Сейчас с chamerMatching разбираюсь, после проверю обязательно, спасибо за совет.
-
Просветите, плиз, chamerMatching только одну фигуру находит из нескольких одинаковых? Ерунда какая-то: есть две одинаковые фигуры разного цвета, после Канни есть два контура, так постоянно определяется последний по координате х, хотя его качество хуже, чем у первого.
-
Проверил, chamerMatching справляется. Спасибо за помощь!
-
Не нашел chamerMatching() в OpenCV 3.0. Походу, её выкинули или заменили чем-то. Не в курсе, какая ф-ция наиболее близка по смыслу?
-
С помощью метода получается Видно, что для границы объекта с тенью отрезки уезжают в сторону.
-
Цель - найти с достаточно высокой точностью данный объект на любом фоне. Соответственно, нужен контур данного объекта. В данном случае проблема с тенями в левом нижнем углу.
-
К сожалению, морфологические преобразования не помогли, края объекта, граничащие с тенью, искажаются. Не подскажите, можно восстановить весь объект по какой-либо характерной его части, если заранее известна форма объекта и его размеры?
-
Попробую, но мне нужен контур, максимально приближенный к исходному изображению. Дилатация несколько раз, думаю, исказит контур.
-
Добрый день, Подскажите, пожалуйста, есть ли какой-нибудь способ однозначно определить контур следующего объекта: Для обработки этого объекта выполняются следующие опреации: blur(); cvtColor(); threshold(); dilate(); canny(); findContours(); Результаты: Канни Контуры Видно, что контур не определяется как единое целое. Как быть в этой ситуации?
-
При попытке скомпилировать в VS2008 выдает ошибки: error C2065: 'LineSegmentDetector' : undeclared identifier main.cpp 208 error C2065: 'LSD_REFINE_STD' : undeclared identifier main.cpp 208 error C3861: 'createLineSegmentDetector': identifier not found main.cpp 208 OpenCV2.3.1
- 2 replies
-
- line segments
- line detection
- (и ещё %d)