我想问如何使用非void函数作为函数与线程一起运行。如何使用线程启动非void函数
我的意思是,这样的功能,因为这:
void example(Mat& in, Mat& out)
我怎么可以使用此功能与beginthreadx
线程?
,我已经在多线程代码trasform的代码粘贴:
#include <opencv\cv.h>
#include <opencv\highgui.h>
#include <stdio.h>
#include <windows.h>
#include <process.h>
using namespace std;
using namespace cv;
//filling array
void acquisisci (Mat in[]){
in[0]=imread("C:/OPENCV/Test/imgtest/bird1.jpg",1);
in[1]=imread("C:/OPENCV/Test/imgtest/bird2.jpg",1);
in[2]=imread("C:/OPENCV/Test/imgtest/bird3.jpg",1);
in[3]=imread("C:/OPENCV/Test/imgtest/pig1.jpg",1);
in[4]=imread("C:/OPENCV/Test/imgtest/pig2.jpg",1);
in[5]=imread("C:/OPENCV/Test/imgtest/pig3.jpg",1);
}
//grey function
void elabora (Mat& in, Mat& out){
if (in.channels()==3){
cvtColor(in,out,CV_BGR2GRAY); //passa al grigio
}
}
//threshold function
void sogliata(Mat& in, Mat& out){
threshold(in,out,128,255,THRESH_BINARY);//fa la soglia
}
//view
void view (Mat& o){
imshow("Immagine",o);
waitKey(600);
}
int main(){
Mat in[6],ou[6],out[6];
acquisisci(in);
for (int i=0;i<=5;i++){
elabora(in[i],ou[i]);
}
for (int i=0;i<=5;i++){
sogliata(ou[i],out[i]);
}
for (int i=0;i<=5;i++){
view(out[i]);
}
return 0;
}
我能做到这一点与并行线程?
很好的解释... clear .. 。我今晚试一试..谢谢!我必须在我的程序中执行多线程... 4函数与openCV参数... – Domenico