40 lines
843 B
C++
Executable File
40 lines
843 B
C++
Executable File
#pragma once
|
|
#include <opencv2/opencv.hpp>
|
|
#include <opencv2/highgui/highgui_c.h>
|
|
#include <iostream>
|
|
|
|
using std::cout;
|
|
using std::endl;
|
|
using std::vector;
|
|
|
|
//击打板点类
|
|
class armorPoint {
|
|
public:
|
|
cv::Point2f p;
|
|
double distance;
|
|
};
|
|
|
|
//上一帧的信息类
|
|
class PreviousFrameInfo {
|
|
public:
|
|
vector<cv::Point2f> previousFramePoints;
|
|
std::chrono::duration<double> elapsedTime;
|
|
bool firstFrame = true;
|
|
double dt;
|
|
};
|
|
|
|
class TargetInfo{
|
|
public:
|
|
vector<cv::Point2f> target_points_;
|
|
double target_speed_;
|
|
double radius_;
|
|
cv::Point2f centor_;
|
|
};
|
|
|
|
|
|
void drawRotatedRect(cv::Mat image, const cv::RotatedRect& rect, const cv::Scalar& color, int thickness);
|
|
|
|
double distance(cv::Point a, cv::Point b);
|
|
|
|
TargetInfo findTarget(cv::Mat rawImages, PreviousFrameInfo & previousFrameInfo, cv::Mat mask);
|