2014-08-27 217 views
0

我的目标是在opencv和C++中使用鼠标在图像中绘制一条线。我在网上查看了不同的代码,但我想在我脑海中有一些想法之后自己尝试一些东西。我可能完全错了,但我只是一个初学者。所以,我想尝试,但它仍然没有工作,所以我想在这里发布它。如果可能,请纠正我的错误。如何在opencv和C++中使用鼠标在图像上绘制线条?

POINT p; 
    GetCursorPos(&p); 
bool drawing; 
    int x; 
    int y; 
    int startx,starty; 
    int finishx,finishy; 

    int z; 
    int l; 
Mat a; 
a = imread("a.JPG"); 

if(GetKeyState(VK_LBUTTON) & 0x80 != 0) 
{ 
    drawing = true; 
    x = p.x; 
    y = p.y; 
    startx = x;//the starting position to start the drawing 
    starty = y; 


} 
if(GetKeyState(VK_RBUTTON) &0x80 != 0) 
{ 
    drawing = false; 
    z= p.x; 
    l = p.y; 

    finishx = z; 
    finishy = l; 

} 
if(drawing==true) 
    { 
     line(a,Point(startx,starty),Point(finishx,finishy),Scalar(0,0,255),1); 
      imshow("test image",a); 
    } 

回答

相关问题