Red de conocimiento de abogados - Derecho de sociedades - ¿OpenCV usa el mouse para dibujar líneas rectas en la imagen de video MFC como se muestra a continuación?

¿OpenCV usa el mouse para dibujar líneas rectas en la imagen de video MFC como se muestra a continuación?

Hola, eres así:

#include

#include

# incluir

#pragma comentario( lib, "cv.lib")

#pragma comentario( lib, "cxcore.lib" )

#pragma comentario( lib, "highgui.lib" )

IplImage* src = 0;

IplImage* dst = 0;

void on_mouse( int evento, int x, int y, int flags, void* ustc)

{

estático CvPoint pre_pt = {-1,-1}

estático; CvPoint cur_pt = {-1,-1};

fuente CvFont

cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5, 0, 1, CV_AA). p > char temp[16];

if( evento == CV_EVENT_LBUTTONDOWN )

{

cvCopy(dst,src); > sprintf(temp,"(%d,%d)",x,y);

pre_pt = cvPoint(x,y

cvPutText(src,temp, pre_pt); , &font, cvScalar(0,0, 0, 255));

cvCircle( src, pre_pt, 3,cvScalar(255,0,0,0) ,CV_FILLED, CV_AA,

cvShowImage( "src", src );

cvCopy(src,dst);

}

else if( evento == CV_EVENT_MOUSEMOVE && (flags & CV_EVENT_FLAG_LBUTTON))

{

cvCopy(dst,src);

sprintf(temp,"(%d,%d)", x ,y

cur_pt = cvPoint(x,y);

cvPutText(src,temp, cur_pt, &font, cvScalar(0,0, 0, 255));

cvLine(src, pre_pt, cur_pt, cvScalar(0,255,0,0), 1, CV_AA, 0

cvShowImage( "src",

src );

}

else if( evento == CV_EVENT_LBUTTONUP )

{

sprintf(temp,"(%d, %d)",x,y);

cur_pt = cvPoint(x,y);

cvPutText(src,temp, cur_pt, &font, cvScalar(0,0, 0 , 255));

cvCircle( src, cur_pt, 3,cvScalar(255,0,0,0) ,CV_FILLED, CV_AA, 0

cvLine( src, pre_pt); , cur_pt, cvScalar(0,255,0,0), 1, CV_AA, 0

cvShowImage( "src", src

cvCopy(src,dst); /p>

}

}

int main()

{

src=cvLoadImage("lena.jpg" ,1);

dst=cvCloneImage(src);

cvNamedWindow("src",1

cvSetMouseCallback( "src", on_mouse, 0);

cvShowImage("src",src);

cvWaitKey(0);

cvDestroyAllWindows(); &src);

cvReleaseImage(&dst);

devuelve 0;