我是靠谱客的博主 开心宝贝,最近开发中收集的这篇文章主要介绍安装opencv3.0.0-alpha 后出现“CV_BGR2GRAY”: 未声明的标识符的解决办法,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
opencv在2014年8月21日进行了最新的更新,发布了OPENCV 3.0.0-alpha版本.
笔者为了尝鲜,特意下下来试试.
在一切配置完毕之后,跑之前的代码出现了一下错误提示
1>e:fr_algorithmfr_algo_fstrunkv1tomato_facefr_algorithm.cpp(23) : error C2065: “CV_BGR2GRAY”: 未声明的标识符
1>e:fr_algorithmfr_algo_fstrunkv1tomato_facefr_algorithm.cpp(26) : error C2065: “CV_HAAR_SCALE_IMAGE”: 未声明的标识符
1>e:fr_algorithmfr_algo_fstrunkv1tomato_facefr_algorithm.cpp(37) : error C2065: “CV_HAAR_SCALE_IMAGE”: 未声明的标识符
开始以为是配置有问题,重新检查了一遍之后发现无误,而且源代码也未更改.感觉可能是头文件引用有问题.
先贴出我的头文件
#include "stdafx.h"
#include <opencv2opencv.hpp>
#include <opencv2corecore.hpp>
#include <opencv2highguihighgui.hpp>
#include <opencv2imgprocimgproc.hpp>
#include <opencv2objdetectobjdetect.hpp>
于是尝试寻找这两个宏定义所在的文件.切换到之前用的2.4.6版本,发现CV_BGR2GRAY存在于opencvbuildincludeopencv2imgproctypes_c.h文件下
同样3.0.0-alpha版本也有同样的文件.
经过一番探寻发现秘密在opencvbuildincludeopencv2imgprocimgproc.hpp文件里
2.4.6版本有这样一行代码,而且整个文件有55KB大小
#include "opencv2/imgproc/types_c.h"
而3.0.0-alpha版本文件仅有3KB大小,里面除了大量的注释外只有一句代码
#include "opencv2/imgproc.hpp"
并未包含对应的头文件.
如此只需包含对应的头文件即可解决问题
#include "stdafx.h"
#include <opencv2opencv.hpp>
#include <opencv2corecore.hpp>
#include <opencv2highguihighgui.hpp>
#include <opencv2imgprocimgproc.hpp>
#include <opencv2objdetectobjdetect.hpp>
#include <opencv2imgproctypes_c.h>
#include <opencv2objdetectobjdetect_c.h>
ps:不知道为什么3.0版本要这么弄,感觉包含一群头文件好麻烦......
最后
以上就是开心宝贝为你收集整理的安装opencv3.0.0-alpha 后出现“CV_BGR2GRAY”: 未声明的标识符的解决办法的全部内容,希望文章能够帮你解决安装opencv3.0.0-alpha 后出现“CV_BGR2GRAY”: 未声明的标识符的解决办法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复