-
Notifications
You must be signed in to change notification settings - Fork 0
/
edgeDetection.h
21 lines (18 loc) · 1.06 KB
/
edgeDetection.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#ifndef EDGEDETECTION_H
#define EDGEDETECTION_H
#include <opencv2/opencv.hpp>
#define WEAK_EDGE 40
#define STRONG_EDGE 255
// Function declarations
cv::Mat Phase_Gradient(const cv::Mat& gradient_x, const cv::Mat& gradient_y);
cv::Mat Magnitude_Gradient(const cv::Mat& gradient_x, const cv::Mat& gradient_y);
std::tuple<cv::Mat, cv::Mat, cv::Mat> applySobel(const cv::Mat& input);
std::tuple<cv::Mat, cv::Mat, cv::Mat> applyPrewitt(const cv::Mat& input);
std::tuple<cv::Mat, cv::Mat, cv::Mat> applyRoberts(const cv::Mat& input);
cv::Mat Hysteresis(cv::Mat& thresholded);
cv::Mat DoubleThresholding(cv::Mat& suppressed, float lowThreshold, float highThreshold);
cv::Mat NonMaxSuppression(cv::Mat& magnitude_gradient, cv::Mat& phase_gradient);
void applyCanny(const cv::Mat& input, cv::Mat& output, int lowThreshold = 5, int highThreshold = 20);
// cv::Mat Detect_Edges_Canny(const cv::Mat &src, int lowThreshold, int highThreshold );
std::tuple<cv::Mat, cv::Mat, cv::Mat> Detect_Edges_Canny(const cv::Mat & src, int lowThreshold , int highThreshold );
#endif // EDGEDETECTION_H