我有个问题。我需要使用 OpenCV Mat 图像结构将多个参数传递给线程。
我有一个这样的结构:
struct Args
{
Mat in[6];
Mat out[6];
};
还有一个由线程调用的 void 函数,如下所示:
void grey (void *param){
while (TRUE)
{
WaitForSingleObject(mutex,INFINITE);
Args* arg = (Args*)param;
cvtColor(*arg->in,*arg->out,CV_BGR2GRAY);
ReleaseMutex(mutex);
_endthread();
}
}
为了将灰色函数作为具有两个 Mat 数组参数的线程启动,我在 main 中使用以下行:
Args dati;
*dati.in = *inn;
*dati.out = *ou;
handle1 = (HANDLE) _beginthread(grey,0,&dati);
现在,我的问题是:我需要访问从线程本身传递给线程的结构中的两个数组“in”和“out”的所有 6 个元素,或者找到一种将数组从 0 转换为 5 的模式以详细说明所有元素“灰色”功能。
我如何从线程或主线程执行此操作?我的意思是使用灰色函数来详细说明我在该模式下传递给线程的结构 Args [6] 中的数组 Mat 的所有 6 个元素。
有人可以帮助我或给我一个想法吗?我不知道该怎么做。