Цель моей программы это определить самый большой контур с видеокамеры и нарисовать его красной линией.
Я обнаружил, что когда самый большой контур (ака largest_contours
в моей программе), контурная линия контура будет мигать и когда-то прервет функцию, чтобы нарисовать красную линию вокруг нее (поскольку линия контура больше не связана, поэтому контур внутри изображения не обнаружен).
Мои вопросы:
Заранее спасибо.
PS: для кодов, фото и дополнительной информации, нажмите ВОТ. ВИДЕО ЗДЕСЬ !!!
findContours
API OpenCV изменяет изображение, которое он использует для поиска контуров. Вы можете попробовать следующее.
Mat displayContours = Mat::zeros(image.rows,image.cols,CV_8UC1);
for(int i = 1;i<(int)largest_contours[0].size();i++)
{
line(displayContours,largest_contours[0][i-1],largest_contours[0][i],255,2,8,0);
line(image,largest_contours[0][i-1],largest_contours[0][i],cv::Scalar(0,0,255),2,8,0);
}
Теперь отобразите displayContours
вместо foreground
Других решений пока нет …