指尖世界

分享的乐趣

Opencv视频某一目标点坐标标定

类别: 动态 更新时间: 2017-09-14

前一段儿帮师兄标定一个视频中固定的目标上某一点的坐标所写的视频。
程序开始运行,打开窗口出现视频的第一帧,当用鼠标左键点击目标点后,程序将目标点的坐标输出到.txt里,同时自动切换下一帧图像,继续标定。
源码:

#include <opencv2\opencv.hpp>  #include <cstdio> using namespace cv;    int main( )   {       //【1】读入视频     VideoCapture capture("pickup_donuts.avi");      VideoWriter writer("pickup_donuts_cut.avi", CV_FOURCC('M', 'J', 'P', 'G'), 30, Size(1024, 576));//注意此处尺寸要与实际相符     //【2】循环显示每一帧     int i = 0;     char name[20];     while(1)       {           Mat frame;//定义一个Mat变量,用于存储每一帧的图像         capture>>frame;  //读取当前帧         i++;         //若视频播放完成,退出循环         if (frame.empty())         {             break;         }          if (i>1250 && i < 10800)//剪切其中一段         {             sprintf(name, "output\\%d.jpg", i);//输出到上级目录的output文件夹下             imwrite(name,frame);//输出一张jpg图片到工程目录下             sprintf(name, "%d", i);             putText( frame, name, Point(0, 20), FONT_HERSHEY_SIMPLEX,                 0.6, Scalar(0,255,0));             imshow("读取视频",frame);  //显示当前帧             writer << frame;             waitKey(30);  //延时30ms         }        }       return 0;      }