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

#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. HowTo系列之virtualenv

    1. 简介 virtualenv是一个用于创建Python独立运行环境的命令行工具. 在我们使用python进行开发的时候,我们会依赖不同的Python版本和不同的库版本.当我们的项目需要依赖别的开发 ...

  2. JUCE 界面库显示中文乱码问题

    JUCE 界面库显示中文乱码问题 环境: Windows7 64位 旗舰版 Visual Studio Ultimate 2012 JUCE 4.1 问题描述: 直接使用juce::String存储中 ...

  3. 国内如何使用gem?

    答案很简单,使用淘宝镜像! https://ruby.taobao.org/ 造福人类啊! 设置方法: $ gem sources --add https://ruby.taobao.org/ --r ...

  4. java SHA1WithRSA 算法

    import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStrea ...

  5. RGB与HSV颜色空间

    RGB颜色空间 1.三基色原理:大多数的颜色可以通过红.绿.蓝三色按照不同的比例合成产生,同样绝大多数单色光也可以分解成红绿蓝三种色光    红绿蓝三基色按照不同的比例相加合成混色称为相加混色.其中一 ...

  6. JS 获取地址栏三级域名

    <script type="text/javascript"> function Char(str) { var uchars = {}; str.replace(/\ ...

  7. @SuppressWarnings("deprecation")

    在Java编译过程中会出现很多警告,有很多是安全的,但是每次编译有很多警告影响我们对error的过滤和修改,我们可以在代码中加上 @SuppressWarnings("XXXX") ...

  8. Fiddler (HTTP抓包)简介

    1.什么是Fiddler? Fiddler是位于客户端和服务器端的HTTP代理,也是目前最常用的http抓包工具之一.它能够记录客户端和服务器之间的所有HTTP请求,可以针对特定的HTTP请求,分析请 ...

  9. JavaScript 介绍

          JavaScript一种直译式脚本语言,是一种动态类型.弱类型.基于原型的语言,内置支持类型.它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在 ...

  10. (转) Summary of NIPS 2016

    转自:http://blog.evjang.com/2017/01/nips2016.html           Eric Jang Technology, A.I., Careers       ...