weixin_30278365 2017-09-11 00:46 采纳率: 0%
浏览 1370

在使用重载函数时出现的问题

class IPM {

private:

    // Sizes
    cv::Size m_origSize;
    cv::Size m_dstSize;

    // Points
    std::vector<cv::Point2f> m_origPoints;
    std::vector<cv::Point2f> m_dstPoints;

    // Homography
    cv::Mat m_H;
    cv::Mat m_H_inv;

    // Maps
    cv::Mat m_mapX, m_mapY;
    cv::Mat m_invMapX, m_invMapY;

    void createMaps();

public:

    IPM( const cv::Size& _origSize, const cv::Size& _dstSize, const std::vector<cv::Point2f>& _origPoints, const std::vector<cv::Point2f>& _dstPoints );

    // Apply IPM on points
    cv::Point2d applyHomography(const cv::Point2d& _point, const cv::Mat& _H);
    cv::Point3d applyHomography( const cv::Point3d& _point, const cv::Mat& _H);
    cv::Point2d applyHomography(const cv::Point2d& _point);
    cv::Point3d applyHomography( const cv::Point3d& _point);
    cv::Point2d applyHomographyInv(const cv::Point2d& _point);
    cv::Point3d applyHomographyInv( const cv::Point3d& _point);
    void applyHomography( const cv::Mat& _origBGR, cv::Mat& _ipmBGR, int borderMode = cv::BORDER_CONSTANT);
    void applyHomographyInv( const cv::Mat& _ipmBGR, cv::Mat& _origBGR, int borderMode = cv::BORDER_CONSTANT);

    // Draw
    void drawPoints( const std::vector<cv::Point2f>& _points, cv::Mat& _img ) const;

    //********************************************************************************************
    //* SETTERS AND GETTERS
    //********************************************************************************************
    cv::Mat getH() const { return m_H; }

    cv::Mat getHinv() const { return m_H_inv; }

    void getPoints(std::vector<cv::Point2f>& _origPts, std::vector<cv::Point2f>& _ipmPts);

};
IPM::IPM( const Size& _origSize, const Size& _dstSize, const vector& _origPoints, const vector& _dstPoints ): m_origSize(_origSize), m_dstSize(_dstSize), m_origPoints(_origPoints), m_dstPoints(_dstPoints){
m_H = getPerspectiveTransform( m_origPoints, m_dstPoints );
m_H_inv = m_H.inv();

createMaps();

}
IPM::IPM ipm( Size(imgG.cols, imgG.rows), Size(imgG.cols, imgG.rows), orgPts, dstPts ); // IPM object

ipm.applyHomography( imgG, imgIpm );
鼠标放在IPM::IPM ipm时会出现无法确定需要哪个重载函数
    错误提示“IPM::{ctor}”:  函数调用缺少参数列表;请使用“&IPM::{ctor}”创建指向成员的指针
    “ipm”:  找不到标识符
  • 写回答

1条回答

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-20 23:46
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler