• 关于OpenCV的"type": 不是 "cv::DataType<T>" 的成员问题


    作者在按照《学习OpenCV3》书上的代码编写时, 发现

    cv::Mat m = cv::Mat::eye( 10, 10, cv::DataType<cv::Complexf>::type );

    这一段代码报错,显示"type": 不是 "cv::DataType<T>" 的成员,点进声明发现type确实在成员里面啊,怎么回事呢

    突然发现这个type成员被#if块过滤掉了,出现了OPENCV_TRAITS_ENABLE_DEPRECATED宏定义名称

    查阅相关资料发现在OpenCV 3.3之后,cv::DataType类型就已经被cv::traits::Type<>替换了,DataType似乎被弃用了。

    以前的写法是cv::DataType<cv::Complexf>::type,替换以后要这样写:traits::Type<Complexf>::value。

    于是源代码改成了这样,问题解决

    cv::Mat m = cv::Mat::eye( 10, 10, cv::traits::Type<cv::Complexf>::value );
  • 相关阅读:
    iptables和DNS
    centos6.5下载
    linux 系统版本信息
    如何挂载
    Linux网络命令
    端口网络等
    linux安装tomcat
    ip设置
    最全DOS的CMD命令,程序员必会
    c语言文件分割与合并
  • 原文地址:https://www.cnblogs.com/daremo/p/16251939.html
Copyright © 2020-2023  润新知