DennisLiu1993 / Fastest_Image_Pattern_Matching

C++ implementation of a ScienceDirect paper "An accelerating cpu-based correlation-based image alignment for real-time automatic optical inspection"
BSD 2-Clause "Simplified" License
842 stars 205 forks source link

您好,请问您的代码可以在vs2015上运行吗,以及mfc相关 #18

Closed wanweitong closed 2 years ago

wanweitong commented 2 years ago

您好,请问您的代码可以在vs2015上运行吗,如果我想去掉所有mfc相关的部分请问应该保留或者是删掉那些呢,谢谢

DennisLiu1993 commented 2 years ago
  1. 可以的
  2. 主要就是這些參數和函數,讀完影像可以直行Match就沒問題了 基本上你放到win32下無法識別的就是MFC的函數或類別 (CString, CFont, CButton, CList等

        s_TemplData m_TemplData;
    void LearnPattern ();
    BOOL Match ();
    int GetTopLayer (Mat* matTempl, int iMinDstLength);
    void MatchTemplate (cv::Mat& matSrc, s_TemplData* pTemplData, cv::Mat& matResult, int iLayer, BOOL bUseSIMD);
    void GetRotatedROI (Mat& matSrc, Size size, Point2f ptLT, double dAngle, Mat& matROI);
    void CCOEFF_Denominator (cv::Mat& matSrc, s_TemplData* pTemplData, cv::Mat& matResult, int iLayer);
    Size  GetBestRotationSize (Size sizeSrc, Size sizeDst, double dRAngle);
    Point2f ptRotatePt2f (Point2f ptInput, Point2f ptOrg, double dAngle);
    void FilterWithScore (vector<s_MatchParameter>* vec, double dScore);
    void FilterWithRotatedRect (vector<s_MatchParameter>* vec, int iMethod = CV_TM_CCOEFF_NORMED, double dMaxOverLap = 0);
    Point GetNextMaxLoc (Mat & matResult, Point ptMaxLoc, double dMinValue, int iTemplateW, int iTemplateH, double& dMaxValue, double dMaxOverlap);
    void SortPtWithCenter (vector<Point2f>& vecSort);
    vector<s_SingleTargetMatch> m_vecSingleTargetData;
    void DrawDashLine (Mat& matDraw, Point ptStart, Point ptEnd, Scalar color1 = Scalar (0, 0, 255), Scalar color2 = Scalar::all (255));
    void DrawMarkCross (Mat& matDraw, int iX, int iY, int iLength, Scalar color, int iThickness);
    
    int m_iMaxPos;
    double m_dMaxOverlap;
    double m_dScore;
    double m_dToleranceAngle;
    int m_iMinReduceArea;
wanweitong commented 2 years ago

感谢您的回复