TBB를 사용하여 OpenCV로 작성된 일부 이미지 일치 코드를 병렬 처리하려고합니다. 문제는 나에 따르면 왼쪽 이미지에서 5x5 창을 만들고 픽셀별로 오른쪽 픽셀을 찾는 것입니다. 이것은 본질적으로 읽기 전용 연산이며 현재는 내부 루프를 병렬 처리하려고합니다. 다른 스레드와 다른 픽셀). 놀랍게도 cvSetImageROI
명령을 병렬로 수행하면 명령이 중단됩니다. 여기에 코드가 있습니다.TBB를 사용하여 OpenCV 코드 병렬화
//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);
이제는 이미지를 읽는 중일 뿐이므로이 모든 것이 나에게 안전합니다. 코드가 충돌합니다. 그것이 작동하더라도 나는 처음부터 자물쇠를 넣으면. 누군가 도울 수 있습니까?
@ ypnos- 많이 고마워요! – Manish