gpt4 book ai didi

c++ - 使用 OpenCV 在网络摄像头上绘图

转载 作者:可可西里 更新时间:2023-11-01 18:38:47 27 4
gpt4 key购买 nike

我想使用 OpenCV 在网络摄像头屏幕上绘图。由于我是从凸轮读取数据,因此帧在不断变化,因此我试图找出一种方法来保留或保存当前帧上的绘图并将其用于下一帧。下面的代码允许您在屏幕上绘图,但当它到达下一帧时,绘图消失并重新开始。

有人能帮帮我吗……谢谢。

          CvCapture *input;
input = cvCaptureFromCAM( 0 );

cvSetMouseCallback("Demo",&on_mouse, 0);

for(;;)
{
frame = cvQueryFrame(input);

if(!image)
{
image = cvCreateImage( cvSize(frame->width, frame->height), IPL_DEPTH_8U, 3);
screenBuffer = cvCreateImage( cvSize(frame->width, frame->height), IPL_DEPTH_8U, 3);
}

cvCopy(frame, image, 0);

if(drawing) //drawing is a global variable
{
cvCircle(image, cvPoint(last_x,last_y), 10,CV_RGB(red,green,blue), -1, CV_AA, 0);
cvCopy(image, screenBuffer, 0);
}

cvShowImage( "Demo", screenBuffer );
}


void on_mouse( int event, int x, int y, int flags, void* param )
{
last_x = x;
last_y = y;

if(event==CV_EVENT_LBUTTONDOWN)
{
drawing = 1;
}
}

最佳答案

绘制成单独的图像,然后在显示之前立即将其添加到视频图像中

关于c++ - 使用 OpenCV 在网络摄像头上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5490655/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com