Я пытаюсь распараллелить некоторый код соответствия изображений, написанный в OpenCV, используя TBB.Проблема в том, что, по моему мнению, сопоставление (создание окна 5x5 на левом изображении и поиск совпадений в правом пикселе за пикселем) по сути является операцией только для чтения, и в настоящее время я пытаюсь распараллелить внутренний цикл (т.е. на заданной высоте. Я назначаюразные пиксели в разные темы).К моему удивлению, команда cvSetImageROI
прерывается, когда выполняется параллельно.Вот код.
//Code below just carves out a window(5x5) at a current width which is to be matched
cvSetImageROI(leftImageROI, cvRect(curWidth - 2, 0, 5, 5));
IplImage* currentROI = cvCreateImage(cvSize(5, 5), leftImageROI->depth, leftImageROI->nChannels);
cvCopy(leftImageROI, currentROI);
cvResetImageROI(leftImageROI);
Теперь все это выглядит поточно-безопасным для меня, поскольку они только читают изображения. Однако код вылетает.Если я поставлю замок в самом начале, хотя он работает.Может кто-нибудь помочь?