在centOS中构建opencv 3.0.0 dev。
我使用的cmake命令是:
cmake -D CMAKE_BUILD_TYPE=Debug -D WITH_TBB=OFF -D WITH_EIGEN=OFF -D BUILD_DOCS=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D WITH_OPENCL=OFF -D WITH_CUDA=OFF -D BUILD_opencv_gpu=OFF -D BUILD_opencv_gpuarithm=OFF -D BUILD_opencv_gpubgsegm=OFF -D BUILD_opencv_gpucodec=OFF -D BUILD_opencv_gpufeatures2d=OFF -D BUILD_opencv_gpufilters=OFF -D BUILD_opencv_gpuimgproc=OFF -D BUILD_opencv_gpulegacy=OFF -D BUILD_opencv_gpuoptflow=OFF -D BUILD_opencv_gpustereo=OFF -D BUILD_opencv_gpuwarping=OFF -D BUILD_JASPER=OFF -D BUILD_ZLIB=OFF -D BUILD_opencv_photo=OFF -D BUILD_opencv_calib3d=OFF -D BUILD_opencv_ccalib=OFF -D OPENCV_EXTRA_MODULES_PATH=/Softwares/opencv_contrib/modules -D BUILD_SHARED_LIBS=OFF ..
我在opencv中构建了照片模块时出现了两个不同的错误。这些似乎是核心库,所以我甚至无法禁用它们。错误是:
在/Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:48中包含的文件中, 来自/Softwares/opencv/modules/photo/src/denoising.cpp:44: /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker_commons.hpp:63:错误:'sampleType'没有命名类型 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker_commons.hpp:63:注意:(可能是'typename pixelInfo _ :: sampleType') /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker_commons.hpp:68:错误:'sampleType'没有命名类型 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker_commons.hpp:68:注意:(可能是'typename pixelInfo _ :: sampleType') 在/Softwares/opencv/modules/photo/src/denoising.cpp:44中包含的文件中: /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:在构造函数'FastNlMeansDenoisingInvoker :: FastNlMeansDenoisingInvoker(const cv :: Mat&,cv :: Mat&,int,int,const float *)[with T = unsigned char ,IT = int,UIT = unsigned int,D = DistSquared,WT = int]': /Softwares/opencv/modules/photo/src/denoising.cpp:56:从'void fastNlMeansDenoising_(const cv :: Mat&,cv :: Mat&,const std :: vector>&,int,int)实例化[使用ST = unsigned char,IT = int,UIT = unsigned int,D = DistSquared]' /Softwares/opencv/modules/photo/src/denoising.cpp:130:从这里实例化 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:121:错误:'sampleMax'不是'pixelInfo'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:122:错误:'sampleMax'不是'pixelInfo'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:在构造函数'FastNlMeansDenoisingInvoker :: FastNlMeansDenoisingInvoker(const cv :: Mat&,cv :: Mat&,int,int,const float *)[with T = cv: :Vec,IT = int,UIT = unsigned int,D = DistSquared,WT = int]': /Softwares/opencv/modules/photo/src/denoising.cpp:62:从'void fastNlMeansDenoising_(const cv :: Mat&,cv :: Mat&,const std :: vector>&,int,int)实例化[使用ST = unsigned char,IT = int,UIT = unsigned int,D = DistSquared]' /Softwares/opencv/modules/photo/src/denoising.cpp:130:从这里实例化 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:121:错误:'sampleMax'不是'pixelInfo>'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:122:错误:'sampleMax'不是'pixelInfo'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:在构造函数'FastNlMeansDenoisingInvoker :: FastNlMeansDenoisingInvoker(const cv :: Mat&,cv :: Mat&,int,int,const float *)[with T = cv: :Vec,IT = int,UIT = unsigned int,D = DistSquared,WT = cv :: Vec]': /Softwares/opencv/modules/photo/src/denoising.cpp:66:从'void fastNlMeansDenoising_(const cv :: Mat&,cv :: Mat&,const std :: vector>&,int,int)实例化[使用ST = unsigned char,IT = int,UIT = unsigned int,D = DistSquared]' /Softwares/opencv/modules/photo/src/denoising.cpp:130:从这里实例化 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:121:错误:'sampleMax'不是'pixelInfo>'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:122:错误:'sampleMax'不是'pixelInfo>'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:在构造函数'FastNlMeansDenoisingInvoker :: FastNlMeansDenoisingInvoker(const cv :: Mat&,cv :: Mat&,int,int,const float *)[with T = cv: :Vec,IT = int,UIT = unsigned int,D = DistSquared,WT = int]': /Softwares/opencv/modules/photo/src/denoising.cpp:72:从'void fastNlMeansDenoising_(const cv :: Mat&,cv :: Mat&,const std :: vector>&,int,int)实例化[使用ST = unsigned char,IT = int,UIT = unsigned int,D = DistSquared]' /Softwares/opencv/modules/photo/src/denoising.cpp:130:从这里实例化 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:121:错误:'sampleMax'不是'pixelInfo>'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:122:错误:'sampleMax'不是'pixelInfo'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:在构造函数'FastNlMeansDenoisingInvoker :: FastNlMeansDenoisingInvoker(const cv :: Mat&,cv :: Mat&,int,int,const float *)[with T = cv: :Vec,IT = int,UIT = unsigned int,D = DistSquared,WT = cv :: Vec]': /Softwares/opencv/modules/photo/src/denoising.cpp:76:从'void fastNlMeansDenoising_(const cv :: Mat&,cv :: Mat&,const std :: vector>&,int,int)实例化[使用ST = unsigned char,IT = int,UIT = unsigned int,D = DistSquared]' /Softwares/opencv/modules/photo/src/denoising.cpp:130:从这里实例化 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:121:错误:'sampleMax'不是'pixelInfo>'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:122:错误:'sampleMax'不是'pixelInfo>'的成员 /Softwares/opencv/modules/photo/src/fast_nlmeans_denoising_invoker.hpp:在构造函数'FastNlMeansDenoisingInvoker :: FastNlMeansDenoisingInvoker(const cv :: Mat&,cv :: Mat&,int,int,const float *)[with T = cv: :Vec,IT = int,UIT = unsigned int,D = DistSquared,WT = int]': /Softwares/opencv/modules/photo/src/denoising.cpp:82:从'void fastNlMeansDenoising_(const cv :: Mat&,cv :: Mat&,const std :: vector>&,int,int)实例化[使用ST = unsigned char,IT = int,UIT = unsigned int,D = DistSquared]'
当我使用-D build_opencv_photo = OFF执行cmake时; make -k,弹出另一个错误:
[100%]构建CXX对象模块/ python2 / CMakeFiles / opencv_python2.dir / /src2/cv2.cpp.o /Softwares/opencv/modules/python/src2/cv2.cpp:117:错误:'Stitcher'尚未声明 /Softwares/opencv/modules/python/src2/cv2.cpp:117:错误:'状态'之前的预期初始值设定项 /Softwares/opencv/modules/python/src2/cv2.cpp:449:错误:ISO C ++禁止声明'Status'没有类型[-fpermissive] /Softwares/opencv/modules/python/src2/cv2.cpp:449:错误:在'&'标记之前预期','或'...' /Softwares/opencv/modules/python/src2/cv2.cpp:449:错误:'PyObject * pyopencv_from(int)'的template-id'pyopencv_from<>'与任何模板声明都不匹配 make [2]:*** [modules / python2 / CMakeFiles / opencv_python2.dir / /src2/cv2.cpp.o]错误1 make [1]:*** [modules / python2 / CMakeFiles / opencv_python2.dir / all]错误2