`void calc_distance (векторные подсказки пальцами, CvPoint palmCenter, IplImage * source)
{
двойное расстояние = 0;
vector<CvPoint>::iterator p;
if (fingerTips.size() != NULL && fingerTips.size() <= 5 && fingerTips.size() >= 1)
{
if ((fingerTips.size() > 1) || (fingerTips.size() <= 5))
{
distance = 0;
p = fingerTips.begin();
CvPoint forefinger = *p;
CvPoint secondfinger;
for( ;p != fingerTips.end(); )
{
p++;
secondfinger = *p;
distance += sqrt(double((forefinger.x - secondfinger.x) *
(forefinger.x - secondfinger.x) + (forefinger.y - secondfinger.y) * (forefinger.y - secondfinger.y)));
cvLine(source,forefinger,secondfinger,cvScalar(1.0,1.0,1.0),3,8);
forefinger = secondfinger;
}
}
}
}
// в качестве параметров я передал вектор координат кончиков пальцев и центр ладони вместе с источником изображения
но все же я получаю сообщение об ошибке: "векторный итератор не отличается" ....
ошибка возникает во 2-й итерации в "secondfinger = * p;" линия.....
пожалуйста, помогите мне .....
здесь я пытаюсь получить расстояние между пальцами и суммирую каждый из них, чтобы получить
конечное расстояние ....
пожалуйста, помогите мне ...