opencv中 主函数怎么调用我在mouseHandler函数中算出的一个值
staticintdmax;staticvoidmouseHandler(intevent,intx,inty,int,void*){if(event==CV_EVENT...
static int dmax;
static void mouseHandler(int event, int x,int y ,int , void*)
{
if( event == CV_EVENT_LBUTTONDOWN)
{
Point sp = Point(x,y);
//cout<<"x="<<sp.x<<"\t y="<<sp.y<<"\t value="<<src.at<Vec3b>(y,x)<<endl;
int a = src.at<Vec3b>(y,x)[0];
int b = src.at<Vec3b>(y,x)[1];
int c = src.at<Vec3b>(y,x)[2];
//cout<<a<<'\t'<<b<<'\t'<<c<<endl;
dmax = sqrt(pow(a,2)+pow(b,2)+pow(c,2));
}
}
int main()
{ ....
int dmin = 0;
createTrackbar( " Threshold:", "dst", &dmin, dmax, onTrackbar);
....
}
我想在main函数中 createTrackbar 里面 调用 我mouseHandler里得出来的dmax值
请问 能实现吗?要怎样去实现? 展开
static void mouseHandler(int event, int x,int y ,int , void*)
{
if( event == CV_EVENT_LBUTTONDOWN)
{
Point sp = Point(x,y);
//cout<<"x="<<sp.x<<"\t y="<<sp.y<<"\t value="<<src.at<Vec3b>(y,x)<<endl;
int a = src.at<Vec3b>(y,x)[0];
int b = src.at<Vec3b>(y,x)[1];
int c = src.at<Vec3b>(y,x)[2];
//cout<<a<<'\t'<<b<<'\t'<<c<<endl;
dmax = sqrt(pow(a,2)+pow(b,2)+pow(c,2));
}
}
int main()
{ ....
int dmin = 0;
createTrackbar( " Threshold:", "dst", &dmin, dmax, onTrackbar);
....
}
我想在main函数中 createTrackbar 里面 调用 我mouseHandler里得出来的dmax值
请问 能实现吗?要怎样去实现? 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询