2
Я пытаюсь мульти нити своей программы в C++ (я использую библиотеки OpenCV) Это код:многопоточное с Непустыми функциями
double _find_eyes (Mat img, vector<Rect_<int> > & finalEyes)
{
//some code working on image
return valueOfMatch; //is a double
}
double _find_mouth (Mat img, vector<Rect_<int> > & finalMouth)
{
//some code working on image
return valueOfMatch; //is a double
}
double _find_face()
{
eyesMatch = _find_eyes(image, eye);
mouthMatch = _find_mouth(image, mouth);
totalMatch = eyesMatch + mouthMatch;
}
int main()
{
find_face();
}
Я хотел бы найти рот и глаз в с использованием потоков. Как это сделать? Мои проблемы касаются не-void-функций и возвращаемого значения. Спасибо заранее.
Я сделал то, что вы предлагаете, но это дает мне это 'ошибку: ссылку на нестатическую функцию члена должны быть вызвано автоматически eyesMatch = асинхронной (запуск :: async, _find_eyes, ref (изображение), ref (eye)); 'и то же самое для рта .. Любое предложение? - – JackJack
@JackJack Post полный код в следующий раз. 'std :: async (std :: launch :: async, & MyClass :: _ find_eyes, это, std :: ref (изображение), std :: ref (eye))' и 'std :: async (std :: launch :: async, & MyClass :: _ find_mouth, это, std :: ref (изображение), std :: ref (рот)) '. Замените «MyClass» любым типом имени вашего класса. –
Большое спасибо – JackJack