0

在 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 中构建照片模块时遇到 2 个不同的错误。这些似乎是核心库,所以我什至无法禁用它们错误是:

在 /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) [with 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) [with ST = unsigned char, IT = int, UIT = unsigned int, D = DistSquared]' /软件/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) [with 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]'</p>

当我使用 -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++禁止声明没有类型的“状态”[-fpermissive] /Softwares/opencv/modules/python/src2/cv2.cpp:449:错误:在“&”之前需要“,”或“...” 令牌 /Softwares/opencv/modules/python/src2/cv2.cpp:449: 错误:'PyObject* pyopencv_from(int)' 的模板 ID 'pyopencv_from<>' 与任何模板声明都不匹配 make[2]: ** * [模块/python2/CMakeFiles/opencv_python2.dir//src2/cv2.cpp.o] 错误 1 ​​make[1]: *** [modules/python2/CMakeFiles/opencv_python2.dir/all] 错误 2

4

0 回答 0