win10系统 python3.8.2,cmake-3.15.5-win64-x64,opencv4.6
编译方式见:OpenCV的编译 - 知乎
本文主要总结问题。赠人玫瑰手留余香。
问题1 | Problem with installing OpenCV using Visual Studio and CMake (error code: MSB3073) |
解决方法 | Use below steps:
Worked for me. |
问题2 | 关于Cmake编译后opencv中使用不了SIFT,SURF等 |
之后在cmake中点击configure,注意这一步不要delete cache | |
问题3 | CMake Warning (dev) at cmake/OpenCVUtils.cmake:144 (find_package): Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules are removed. Run "cmake --help-policy CMP0148" for policy details. Use |
在CMakeList.txt 文件中增加一行: if(POLICY CMP0148) cmake_policy(SET CMP0148 OLD) endif() | |
问题4 | Installing OpenCV 3.1.0 with CMake on Windows 7, opencv_ffmpeg.dll invalid hash |
一种方法是在ffmpeg目录下方downloads文件,并放上响应的文件。但还是直接放到./cache/文件夹下面最方面 如下: I found sub-string ffmpeg.dll in opencv\sources\3dparty\ffmpeg\ffmpeg.cmake: set(FFMPEG_BINARIES_COMMIT "8aeefc4efe3215de89d8c7e114ae6f7a6091b8eb") set(FFMPEG_FILE_HASH_BIN32 "89c783eee1c47bfc733f08334ec2e31c") set(FFMPEG_FILE_HASH_BIN64 "35fe6ccdda6d7a04e9056b0d73b98e76") set(FFMPEG_FILE_HASH_CMAKE "8606f947a780071f8fcce8cbf39ceef5") set(FFMPEG_DOWNLOAD_URL https://raw.githubusercontent.com/Itseez/opencv_3rdparty/${FFMPEG_BINARIES_COMMIT}/ffmpeg/)ocv_download(PACKAGE ...) Download files: https://raw.githubusercontent.com/Itseez/opencv_3rdparty/8aeefc4efe3215de89d8c7e114ae6f7a6091b8eb/ffmpeg/{opencv_ffmpeg.dll,opencv_ffmpeg_64.dll,ffmpeg_version.cmake} and copy it to: opencv\sources\3rdparty\ffmpeg\downloads\%HASH%\ Then cmake.exe -G "CodeBlocks - MinGW Makefiles" . and mingw32-make.exe | |
问题5 | 'cmake' will raise "OpenCVGenSetupVars.cmake" error (when configure OpenCV) |
had the same problem. The compilation was still successful after ignoring this warning. So the second time I built it, I removed the configuration option(OPENCV_GENERATE_SETUPVARS). 也就是OPENCV_GENERATE_SETUPVARS后面的√取消掉 | |
问题6 | Opencv_contrib编译 |
在opencv在cmake软件中configure结束后添加opencv_contrib文件夹中的modules文件到变量中。 需要使用SURF等库时在NONFREE后面打钩 之后点击configure,注意这一步不要delete cache,直接继续configure | |
问题7 | face_landmark_model.dat,ffmpeg,ippicv等安装 |
下载完成之后,在\源码\.cache\文件夹下,找到源文件,复制下文件名(校验码+文件), 把下载的文件拷贝过来,修改成\.cache\目录里的名称。如下 然后重新在cmake里面configure就可以了 | |
问题8 | 严重性 代码 说明 项目 文件 行 禁止显示状态 |
更改文件编码格式保存 在类别找到文件,在右边命令一栏找到“高级保存选项”, 将文字编码改为936的简体中文 | |
移植问题 | |
如果你是在本机使用,那么现在你就可以直接去python里对应的虚拟环境中调用cv2了。如果是准备再另一个电脑上使用,看下文 首先进入你最开始在cmake里设置的build路径 然后找到lib-python3-release-然后这里有个pyd文件 我们就要这个,拷出来 然后我们找到install-x64-vc16-bin,里面有2个dll,拷出来 将这3个文件都拷贝到py程序的根目录,你就可以使用opencv了,大小确实小了点哈(尴尬) ————————————————
原文链接:https://blog.csdn.net/weixin_44287933/article/details/133032558 |