77 #ifndef _ARROW_DETECTION_H_
78 #define _ARROW_DETECTION_H_
90 #include <std_msgs/String.h>
97 #include <sys/types.h>
101 #include <geometry_msgs/Point.h>
105 #include <visp/vp1394CMUGrabber.h>
106 #include <visp/vp1394TwoGrabber.h>
107 #include <visp/vpDisplayGDI.h>
108 #include <visp/vpDisplayX.h>
109 #include <visp/vpDot2.h>
110 #include <visp/vpPixelMeterConversion.h>
111 #include <visp/vpPose.h>
114 #include <opencv2/features2d/features2d.hpp>
115 #include <opencv2/highgui/highgui.hpp>
116 #include <opencv2/imgproc/imgproc.hpp>
117 #include <opencv2/calib3d/calib3d.hpp>
118 #include <opencv2/nonfree/nonfree.hpp>
119 #include <opencv2/core/core.hpp>
120 #include <opencv2/opencv.hpp>
175 vector<RotatedRect>
boundig_box_small( Mat & src_tresh, Mat & threshold_output,vector<vector<cv::Point> > contours,
176 cv::Point& src_centre,
bool& havepoint);
179 void Opening(Mat & src, Mat & dest,
unsigned int erosion_size);
182 void closing(Mat & src, Mat & dest,
unsigned int erosion_size);
187 vector<vector<cv::Point> >
find_contours(Mat & src, Mat & dest,
const unsigned int & line_thinckness,
188 const unsigned int & erosion_size_min);
201 void descritor( Mat & img_object, Mat & img_scene);
const unsigned short VAL_MAX_LENGTH
For validate_lengths function.
const unsigned short VAL_MIN_LENGTH
const unsigned short CONVEX_HULL_CORNERS
Variable for validate_convexHull.
const float VAL_MIN_RELATION_LENGTH
const double BBCA_MIN
Variables for validate_contour_Area_Length function.
void Opening(Mat &src, Mat &dest, unsigned int erosion_size)
Morphological operation OPENING.
const unsigned int LINE_THICKNESS
void ProcessMyImage(Mat &src, Mat &dest)
Canny.
const unsigned int MAX_THRESH
void ProcessEdges(Mat &src, Mat &dest)
Boundig box BW.
cv::Point find_arrow(void)
const unsigned short CONVEX_ARROW_CORNERS
Variable for validate_corners_arrow.
void multiplymatrixbool(Mat &src, Mat &matbol)
const float VAL_MAX_RELATION_LENGTH
const unsigned int THRESH
void closing(Mat &src, Mat &dest, unsigned int erosion_size)
Morphological operation Closing.
static bool validate_lengths(cv::Point2f rect_points[], const unsigned short max_length=VAL_MAX_LENGTH, const unsigned short min_length=VAL_MIN_LENGTH, const float min_relation_length=VAL_MIN_RELATION_LENGTH, const float max_relation_length=VAL_MAX_RELATION_LENGTH)
void descritor(Mat &img_object, Mat &img_scene)
Find discriptors (Match points)
vector< RotatedRect > boundig_box_small(Mat &src_tresh, Mat &threshold_output, vector< vector< cv::Point > > contours, cv::Point &src_centre, bool &havepoint)
FIND THE SMALLEST BOUNDING BOX.
void boundig_box(Mat &src_tresh, Mat &dst)
FIND THE BOUDING BOX.
const unsigned int EROSION_SIZE
VERIFICAR SE o que esta a detetar é preto! e se é solido!!!!! (cor constante)
const unsigned int EROSION_SIZE_MIN
vector< vector< cv::Point > > find_contours(Mat &src, Mat &dest, const unsigned int &line_thinckness, const unsigned int &erosion_size_min)
See if the contour have neighbors! (arrow dont have!)