相关疑难解决方法(0)

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

我想使用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)
                { …
Run Code Online (Sandbox Code Playgroud)

c++ webcam opencv paint draw

7
推荐指数
1
解决办法
8455
查看次数

使用鼠标从视频上的矩形设置ROI

我有视频,当程序运行时,视频的第一帧被视为一个图像,并允许用户在图像上绘制一个矩形,绘制矩形后,用户必须右键单击图像以确认矩形.当鼠标右键单击时,图像消失,视频开始播放,其上绘制的矩形.

我能够完美地绘制矩形,但我无法将该矩形设置为ROI.

我想要做的是将该矩形设置为感兴趣区域(ROI),以对该ROI进行一些图像处理.我无法将我绘制的矩形设置为ROI.

我在Visual Studio 2010中使用OpenCV.稍后我将尝试将此程序集成到QT创建者中.

任何帮助,将不胜感激.

提前致谢.

我的完整代码如下:

#include <stdlib.h>
#include <stdio.h>
#include <math.h>
#include <string.h>
#include<opencv2\opencv.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv/highgui.h>
#include <opencv/cxcore.h>
#include <opencv\cvaux.h>

using namespace cv;
using namespace std;
void my_mouse_callback( int event, int x, int y, int flags, void* param );
bool destroy=false;
CvRect box;
IplImage* image;
IplImage* frame2;
bool drawing_box = false;

void draw_box( IplImage* img, CvRect rect)
{
cvRectangle( img, cvPoint(box.x, box.y), cvPoint(box.x+box.width,box.y+box.height),
            cvScalar(0,0,255) ,2);

CvRect rect2=cvRect(box.x,box.y,box.width,box.height);
//cvSetImageROI(image, rect2);   //here I wanted to set …
Run Code Online (Sandbox Code Playgroud)

c c++ opencv image-processing computer-vision

6
推荐指数
1
解决办法
1万
查看次数

自由格式图像选择(最好用c ++)

我是图像处理的新手.我注意到你可以在像opencv这样的图像处理库中指定一个感兴趣矩形区域和其他像圆圈等.像ms-paint这样的基本绘图程序包含了自由格式选择,但我似乎找不到关于如何在opencv或其他图像处理库中进行自由格式图像选择的功能或教程.关于如何实现这一点的任何想法?PS:我的首选语言是c/c ++. 在此输入图像描述

c++ opencv image image-processing

5
推荐指数
1
解决办法
1366
查看次数

标签 统计

c++ ×3

opencv ×3

image-processing ×2

c ×1

computer-vision ×1

draw ×1

image ×1

paint ×1

webcam ×1