/* //图片基本处理 */ #ifndef EdgeDet_H_ #define EdgeDet_H_ #include #include "AI_Edge_Algin.h" using namespace std; enum LINE_SEARCH_DIRECTION_CONST { DIRECTION_POSITIVE = 1, DIRECTION_NEGATIVE = -1, }; class EdgeDet_New { public: EdgeDet_New(); ~EdgeDet_New(); int InitRun(); int InitModel(); int GetImgEdge(cv::Mat img, cv::Rect &roi); int AIEdgeDete(const cv::Mat &img, AI_Edge_Algin::DetConfig *pdetConfig, cv::Mat &detMaskImg, cv::Rect &roi); cv::Mat showimg; bool bshowimg; AI_IMG_deal m_AIDeal; OtherDet_Config m_OtherDet_Config; // std::shared_ptr m_pAI_Edge_Algin; // 边缘定位 AI_Edge_Algin m_pAI_Edge_Algin; cv::Mat detmask; private: /// @brief /// @param img 搜到图片 单通道 /// @param DirectSign 搜索方向 >0 正向,< 0 反向 /// @param Gate 阈值 /// @param BorW 搜索黑点 = 0还是白点 = 1 /// @param roi 搜索范围 /// @param StepCount 搜索点数 /// @param Limit 最小满是阈值点个数算上搜索成功 /// @return <0 搜索错误, >=0表示 搜索位置 int UDNoiseEdgeDetect(cv::Mat img, int DirectSign, int Gate, int BorW, cv::Rect roi, int StepCount, int Limit); /// @brief /// @param img 搜到图片 单通道 /// @param DirectSign 搜索方向 >0 正向,< 0 反向 /// @param Gate 阈值 /// @param BorW 搜索黑点 = 0还是白点 = 1 /// @param roi 搜索范围 /// @param StepCount 搜索点数 /// @param Limit 最小满是阈值点个数算上搜索成功 /// @return <0 搜索错误, >=0表示 搜索位置 int LRNoiseEdgeDetect(cv::Mat img, int DirectSign, int Gate, int BorW, cv::Rect roi, int StepCount, int Limit); // int LRNoiseEdgeDetect(cv::Mat img,int DirectSign, int Gate,int BorW, int StartSearchSite, int Step, int StepCount, int top, int bottom, int Limit, int Depth, int MaxLimit); }; #endif