码迷,mamicode.com
首页 > 其他好文 > 详细

【OpenCV】

时间:2016-08-03 15:04:52      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:

今天实现了视频播放以后暂停获取鼠标点击处坐标的功能。

#include <iostream>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <opencv2/imgproc/imgproc.hpp>
using namespace cv;
using namespace std;

Mat frame;  

void on_mouse( int event, int x, int y, int flags, void* ustc)  
{  
    CvFont font;  
    cvInitFont(&font, CV_FONT_HERSHEY_SIMPLEX, 0.5, 0.5, 0, 1, CV_AA);  
          
    if( event == CV_EVENT_LBUTTONDOWN )  
    {  
        CvPoint pt = cvPoint(x,y);  
        char temp[16];  
        sprintf(temp,"(%d,%d)",pt.x,pt.y);  
        putText(frame,temp, pt, CV_FONT_HERSHEY_COMPLEX, 1, Scalar(255, 255, 255,0));  
        circle( frame, pt, 2,cvScalar(255,0,0,0) ,CV_FILLED, CV_AA, 0 );  
        imshow( "Movie", frame );  
    }   
}

int main()  
{
    VideoCapture capture("D:\\test.wmv");  
    double rate = capture.get(CV_CAP_PROP_FPS);  
    cout<<"帧率为:"<<rate<<endl;  
    namedWindow("Movie");  
    int delay = 1000/rate;
    bool isStart = 0;
  
    while(1)  
    { 
        if(!capture.read(frame))  
        {  
            cout<<"读取视频失败"<<endl;  
            return -1;    
        }

        imshow("Movie",frame);
        if (!isStart)
        {
             waitKey(0);
             isStart = 1;
        }

        int c = waitKey(delay);

        if((char) c == 27) 
        {  
            break;
        } 

        else if( c >= 0)  
        {   
            cvSetMouseCallback( "Movie", on_mouse, 0 );
            imshow("Movie",frame);
            int controlkey = waitKey(0);
            if((char) controlkey == 27) 
            {  
                break;
            }
        }        
    }


    capture.release();  
    return 0;  
}

参考代码:

【OpenCV之利用鼠标获取坐标】:http://blog.sina.com.cn/s/blog_6646924501018fpz.html

主要就是将其中的旧版代码修改为了新版本,如putText,circle等。

修改参照:

【我的OpenCV学习笔记(七):绘图操作】:http://blog.csdn.net/thefutureisour/article/details/7523925

【opencv 中的 cvPutText() 函数的使用】:http://blog.csdn.net/longzaitianya1989/article/details/8121286

 

下一步就是要实现追踪了。

【OpenCV】

标签:

原文地址:http://www.cnblogs.com/XiaodongZhang/p/5732612.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!