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

#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, , , CV_AA); if( event == CV_EVENT_LBUTTONDOWN )
{
CvPoint pt = cvPoint(x,y);
char temp[];
sprintf(temp,"(%d,%d)",pt.x,pt.y);
putText(frame,temp, pt, CV_FONT_HERSHEY_COMPLEX, , Scalar(, , ,));
circle( frame, pt, ,cvScalar(,,,) ,CV_FILLED, CV_AA, );
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 = /rate;
bool isStart = ; while()
{
if(!capture.read(frame))
{
cout<<"读取视频失败"<<endl;
return -;
} imshow("Movie",frame);
if (!isStart)
{
waitKey();
isStart = ;
} int c = waitKey(delay); if((char) c == )
{
break;
} else if( c >= )
{
cvSetMouseCallback( "Movie", on_mouse, );
imshow("Movie",frame);
int controlkey = waitKey();
if((char) controlkey == )
{
break;
}
}
} capture.release();
return ;
}

参考代码:

【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】视频取坐标的更多相关文章

  1. 摄像头脸部识别 (1)opencv 抓取视频数据并保存

    摄像头脸部识别 (1)opencv 抓取视频数据并保存 基于python 和 opencv 3.4.0 (兼容 opencv 2.X 参考注释),详细如代码 import numpy as np im ...

  2. 在python3下使用OpenCV 抓取摄像头图像并实时显示3色直方图

    以下代码为在Python3环境下利用OpenCV 抓取摄像头的实时图像, 通过OpenCV的 calHist函数计算直方图, 并显示在3个不同窗口中. import cv2 import numpy ...

  3. OpenCV视频读取播放,视频转换为图片

    转载请注明出处!!! http://blog.csdn.net/zhonghuan1992 OpenCV视频读取播放,视频转换为图片 介绍几个有关视频读取的函数: VideoCapture::Vide ...

  4. C#视频取帧图

    由于项目里页面有许多视频资料需要展示给用户查看,因此需要做一个视频列表,原设计是列表显示视频第一帧图,但实际上很多视频第一帧是纯黑底色. 于是想到用js利用canvas截图,最后发现由于浏览器跨域限制 ...

  5. opencv 视频处理相关

    包含视频格式知识(编解码和封装格式):如何获取视频信息及视频编解码格式:opencv读取及保存视频,及opencv fourcc编码格式 一.基础知识 视频的编解码格式和封装格式 参考如山似水 视频编 ...

  6. 庞锋 OpenCV 视频 学习进度备忘

    书签:另外跳过的内容有待跟进 学习资源: opencv视频教程目录(初级)   主讲:庞锋,毕业于电子科技大学 知识基础支持: 线性代数 应用数学 跳过的内容: 1.第1~6集跳过,简单.(2014- ...

  7. OpenCV 视频处理框架

    OpenCV 本身集成了 FFmpeg,因此对于视频是有解码和编码功能的.尽管其效率在本人看来还不能跟未被封装的FFmpeg相提并论,然用其来对视频进行解码得到图像,然后对图像进行处理并将得到的图像又 ...

  8. RTSP协议进行视频取流的方法、注意点及python实现

    在视频应用中,我们一般都需要基于摄像头或录像机的视频流进行二次开发,那么就涉及到如何将视频流取出来. 在摄像机安装好之后,一般是通过局域网与本地的服务器进行连接,要取录像机的视频流就要在局域网范围内进 ...

  9. opencv视频跟踪2

    在前面的报告中我们实现了用SURF算法计算目标在移动摄像机拍摄到的视频中的位置.由于摄像机本身像素的限制,加之算法处理时间会随着图像质量的提高而提高,实际实验发现在背景复杂的情况下,结果偏差可能会很大 ...

随机推荐

  1. C++学习笔记31:术语翻译

    reference:引用 dereference:引领,好于"解引用" type:型式,好于"类型" int:整数型式,简称整型 class:类型式,简称类型 ...

  2. php curl

    这几天在帮一些同学处理问题的时候,突然发现这些同学是使用file_get_contents()函数来采集页面内容的,貌似都没有curl的概念亦或是对这种工具特别不敏感, 本文我来给大家详细介绍下cUR ...

  3. nginx-1.7.9快速启动连接手机测移动端页面

    大家好,本人之前用nginx熟熟的,后来一段时间不用,当今天再次想使用的时候,发现,悲催的是,竟然忘记怎么用了!噢噢,于是乎,就从网上搜索怎样让nginx和移动端页面联系在一起测试. 可惜的是,我搜索 ...

  4. 工程环境搭建和网站部署(java)

    我们一般访问网站的时候,都是用127.0.0.1:8080...去访问,如果想用www.shopping.com访问java网站时 需要配置C:\Windows\System32\drivers\et ...

  5. 事件的委托处理 javascript

    javascript的事件模型,采用"冒泡"模式,即子元素的事件会逐级向上"冒泡",成为父元素的事件.这点可以简化事件的绑定... 例如,一个表格(table) ...

  6. 2015.10.15night

    #include<stdio.h> main() { int x,y; scanf("%d",&x); if(x>0)y=1; else {if(x< ...

  7. SQL_函数

    五毛叶 — SQL_函数: 如下: 1 SQL_Aggregate函数 AVG() - 返回平均值 COUNT() - 返回行数 FIRST() - 返回第一个记录的值 LAST() - 返回最后一个 ...

  8. 第五篇T语言实例开发,百变字符(版本5.0)

    自动生成字符编码 字符的编码 参见下面链接 http://blog.jobbole.com/74109/ http://baike.baidu.com/link?url=QN7HMY2fJTIUfIT ...

  9. git初学习体会

    github:项目版本控制器 git和传统的版本控制器相比,最大的一点是,界面简单,给与非线性开发模式的强有力的支持,完全分布式等. 对于完全分布式的实现,我的理解是这个样子的.这多少要涉及到一点它的 ...

  10. 模板方法模式(Template Method Pattern)

    模板方法模式是一种基于继承的代码复用技术,定义一个操作中的算法的骨架,而将步骤延迟到子类中.模板方法使得子类可以不改变一个算法的结构即可重定义算法的某些特定步骤. 模式中的角色 抽象类(Abstrac ...