29 lines
1.1 KiB
C
29 lines
1.1 KiB
C
|
#ifndef LINE_CONTINUITY_DETECTION_H
|
|||
|
#define LINE_CONTINUITY_DETECTION_H
|
|||
|
|
|||
|
#include <opencv2/opencv.hpp>
|
|||
|
|
|||
|
class LineContinuityDetection
|
|||
|
{
|
|||
|
public:
|
|||
|
LineContinuityDetection();
|
|||
|
|
|||
|
static bool isContinuous(const cv::Mat& image, double area_threshold = 100);
|
|||
|
|
|||
|
private:
|
|||
|
/// <summary>
|
|||
|
/// <20><>ȡ<EFBFBD><C8A1>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
/// </summary>
|
|||
|
/// <param name="src">Դͼ<D4B4><CDBC></param>
|
|||
|
/// <param name="contours"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="hierarchy"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD>contours<72><73><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6><EFBFBD><EFBFBD>retrѡ<72>ͬ<EEB2BB><CDAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б仯</param>
|
|||
|
/// <param name="retr"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA>ʽ<EFBFBD><CABD><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="method"><3E><><EFBFBD><EFBFBD><EFBFBD>㷨ѡ<E3B7A8><D1A1><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>Ϊ<EFBFBD><CEAA>ͨ<EFBFBD><CDA8><EFBFBD><EFBFBD></param>
|
|||
|
/// <param name="offset"><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD>㣬Ĭ<E3A3AC><C4AC>Ϊ<EFBFBD><CEAA>0,0<><30><EFBFBD><EFBFBD></param>
|
|||
|
static void myFindContours(const cv::Mat& src, std::vector<std::vector<cv::Point>>& contours, std::vector<cv::Vec4i>& hierarchy,
|
|||
|
int retr = cv::RETR_LIST, int method = cv::CHAIN_APPROX_SIMPLE, cv::Point offset = cv::Point(0, 0));
|
|||
|
|
|||
|
static bool findBlock(const std::vector<std::vector<cv::Point>>& contours, const std::vector<cv::Vec4i>& hierarchy, double area_threshold);
|
|||
|
};
|
|||
|
|
|||
|
#endif //LINE_CONTINUITY_DETECTION_H
|