Работаю над распознаванием фигур в OpenCV. Чтобы найти четырехугольник, смотрю на количество вершин:
while(contours)
{
result = cvApproxPoly(contours, sizeof(CvContour), storage,
CV_POLY_APPROX_DP, cvContourPerimeter(contours)*0.02, 0);
if(result->total==3 )
{
CvPoint *pt[4];
for(int i=0;i<4;i++){
pt[i] = (CvPoint*)cvGetSeqElem(result, i);
}
cvLine(src, *pt[0], *pt[1], cvScalar(0,0,250),4);
cvLine(src, *pt[1], *pt[2], cvScalar(0,0,250),4);
cvLine(src, *pt[2], *pt[3], cvScalar(0,0,250),4);
cvLine(src, *pt[3], *pt[0], cvScalar(0,0,250),4);
}
contours = contours->h_next;
}
Хорошо работает на рисунках, но на реальных фотографиях работает гораздо хуже (использую свертку, но тогда рисунки распознаются хуже). Какие еще способы можно использовать для распознавания четырехугольников? Как можно переделать преобразование Хафа для поиска прямоугольников?
Виртуальный выделенный сервер (VDS) становится отличным выбором
Доброе время суток, Можно ли объединить следующие запросы в один запрос?:
ПриветствуюСоздаю свое первое клиент-серверное приложение, поэтому хочу проконсультироваться с более опытными разработчиками
Пытаюсь в приложении на андроид закодировать фото в base64, чтобы отправить его на серверОднако результаты нулевые