code_device/hgdriver/ImageProcess/LineContinuityDetection.h

29 lines
1.1 KiB
C
Raw Normal View History

2023-10-08 10:03:11 +00:00
#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