问题描述
判断视频中的红色就激光点,是否在移动?
思路
打开本地视频或摄像头拍摄实时视频,读取是视频中的每一帧图像,并获取光斑质心,读取到第一张图片上的点,认为是光斑原点,以后没相邻的两张图片间的距离d进行比较,若d大于设定值x,则认为是光斑在移动,否则没动。
语言
C++
运行环境
VS2019
OpenCV 4.20
代码
//读取视频中的光斑是否在移动
#include <opencv2/opencv.hpp>
#include <iostream>
#include <cmath>
using namespace cv;
using namespace std;
Point Convolution_calculation_centroid(Mat Image);
int main()
{
int i = 0,x1=0,x2=0,y1=0,y2=0,n=0;
int k;
double dis=0;//两点间距离
Mat frame;
String temp, name;
Point2d point1;
Mat Img;