win10 cmake编译 opencv4.0 + pyhton3.7x64
在超极本上本来不想编译了,反正没有cuda。但发现即使下载的opencv_contrib也不包含sift等等nonfree库了,要自己编译开编译选项才可以。坑啊,自己编译吧。反正opencv已经这么庞大了,也不得不自己编译了。
小坑若干,折腾1天。记之。
下载opencv和opencv_contrb 直接从github上下载:
https://github.com/opencv/opencv/archive/master.zip
https://github.com/opencv/opencv_contrib/archive/master.zip
20191231更新:
FFMPEG: Download: ffmpeg_version.cmake
Try 1 failed
参考 https://www.cnblogs.com/huluwa508/p/10142718.html
cd 到
XXX\opencv-master\.cache\ffmpeg
发现
2个dll下载好了
但是.cmake文件下载不到
ad57c038ba34b868277ccbe6dd0f9602-ffmpeg_version.cmake
而cmake的下载地址,根据
XXX\opencv-master\build\CMakeDownloadLog.txt
#do_copy "ffmpeg_version.cmake" "ad57c038ba34b868277ccbe6dd0f9602" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/a66a24e9f410ae05da4baeeb8b451912664ce49c/ffmpeg/ffmpeg_version.cmake" "D:/soft/dev/opencv/opencv-master/build/3rdparty/ffmpeg"
#missing "D:/soft/dev/opencv/opencv-master/build/3rdparty/ffmpeg/ffmpeg_version.cmake"
直接用科学方法打开标红的链接,发现只是个纯文本文件
set(FFMPEG_libavcodec_FOUND 1)
set(FFMPEG_libavformat_FOUND 1)
set(FFMPEG_libavutil_FOUND 1)
set(FFMPEG_libswscale_FOUND 1)
set(FFMPEG_libavresample_FOUND 1)set(FFMPEG_libavcodec_VERSION 58.54.100)
set(FFMPEG_libavformat_VERSION 58.29.100)
set(FFMPEG_libavutil_VERSION 56.31.100)
set(FFMPEG_libswscale_VERSION 5.5.100)
set(FFMPEG_libavresample_VERSION 4.0.0)
直接复制内容,粘贴到 体积为0的cmake文件ad57c038ba34b868277ccbe6dd0f9602-ffmpeg_version.cmake 中,保存完事。
如果报warning:
CMake Warning at cmake/OpenCVGenSetupVars.cmake:54 (message):
CONFIGURATION IS NOT SUPPORTED: validate setupvars script in install directory Call Stack (most recent call first)
去掉这个编译选项,应该没啥用

1 vs2017
也就是所谓的vc15. 要检测是否安装了完整的C++功能和cmake支持,用vs 的installer可以选上。
否则cmake的configure都会报错。
2python3配置
python3的路径一个一个补上:注意library 很迷惑,有python3.lib和 .a的。注意区别

其他要注意的也就是这些了,那个OPENCV_PYTHON3_VERSION没啥用,选上好像就编译cv2.pyd不过了。保持空就可以。

基本上多点几次Configure,直到不报错就OK。
然后Generate,然后进vs2017,"ALL_BUILD" 右键"生成",经过漫长编译,如果正常,应该全都编译成功。之前因为python编译不过,卡了半天。
然后“INSTALL” “生成”,但python路径下仍然没有看见cv2.pyd
3手动安装opencv_python
想起应该是win10加强了C盘权限的管理,进命令行都得用管理员权限了。
那么:直接用管理员权限启动PowerShell,cd到之前设置的 opencv的build路径(我给设置了D:\soft\dev\opencv\build),找到instal
我这里是
D:\soft\dev\opencv\build\install\python
要用develop来安装,不是常用的install否则会报错
ImportError: ERROR: recursion is detected during loading of "cv2" binary extensions. Check OpenCV installation.
https://github.com/opencv/opencv/issues/13202
python setup.py develop
然后就能又在py上使用sift了
编译完成,在python环境里查看信息
>>> import cv2
>>> print(cv2.getBuildInformation())
General configuration for OpenCV 4.2.0-dev =====================================
Version control: unknownExtra modules:
Location (extra): D:/soft/dev/opencv/opencv_contrib-master/modules
Version control (extra): unknownPlatform:
Timestamp: 2019-12-31T05:29:29Z
Host: Windows 6.1.7601 AMD64
CMake: 3.16.2
CMake generator: Visual Studio 15 2017
CMake build tool: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/MSBuild/15.0/Bin/MSBui
ld.exe
MSVC: 1916CPU/HW features:
Baseline: SSE SSE2 SSE3
requested: SSE3
Dispatched code generation: SSE4_1 SSE4_2 FP16 AVX AVX2 AVX512_SKX
requested: SSE4_1 SSE4_2 AVX FP16 AVX2 AVX512_SKX
SSE4_1 (16 files): + SSSE3 SSE4_1
SSE4_2 (2 files): + SSSE3 SSE4_1 POPCNT SSE4_2
FP16 (1 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 AVX
AVX (5 files): + SSSE3 SSE4_1 POPCNT SSE4_2 AVX
AVX2 (29 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2
AVX512_SKX (6 files): + SSSE3 SSE4_1 POPCNT SSE4_2 FP16 FMA3 AVX AVX2 AVX_512F AVX512_COMMON AVX512_SKXC/C++:
Built as dynamic libs?: YES
C++ Compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27
023/bin/Hostx86/x64/cl.exe (ver 19.16.27034.0)
C++ flags (Release): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D
_SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP8 /M
D /O2 /Ob2 /DNDEBUG
C++ flags (Debug): /DWIN32 /D_WINDOWS /W4 /GR /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D
_SCL_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /EHa /wd4127 /wd4251 /wd4324 /wd4275 /wd4512 /wd4589 /MP8 /M
Dd /Zi /Ob0 /Od /RTC1
C Compiler: C:/Program Files (x86)/Microsoft Visual Studio/2017/Professional/VC/Tools/MSVC/14.16.27
023/bin/Hostx86/x64/cl.exe
C flags (Release): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SC
L_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP8 /MD /O2 /Ob2 /DNDEBUG
C flags (Debug): /DWIN32 /D_WINDOWS /W3 /D _CRT_SECURE_NO_DEPRECATE /D _CRT_NONSTDC_NO_DEPRECATE /D _SC
L_SECURE_NO_WARNINGS /Gy /bigobj /Oi /fp:precise /MP8 /MDd /Zi /Ob0 /Od /RTC1
Linker flags (Release): /machine:x64 /INCREMENTAL:NO
Linker flags (Debug): /machine:x64 /debug /INCREMENTAL
ccache: NO
Precompiled headers: NO
Extra dependencies: cudart_static.lib nppc.lib nppial.lib nppicc.lib nppicom.lib nppidei.lib nppif.lib nppi
g.lib nppim.lib nppist.lib nppisu.lib nppitc.lib npps.lib cublas.lib cufft.lib -LIBPATH:C:/Program Files/NVIDIA GPU Comp
uting Toolkit/CUDA/v10.0/lib/x64
3rdparty dependencies:OpenCV modules:
To be built: aruco bgsegm bioinspired calib3d ccalib core cudaarithm cudabgsegm cudacodec cudafeatur
es2d cudafilters cudaimgproc cudalegacy cudaobjdetect cudaoptflow cudastereo cudawarping cudev datasets dnn dnn_objdetec
t dnn_superres dpm face features2d flann fuzzy gapi hfs highgui img_hash imgcodecs imgproc line_descriptor ml objdetect
optflow phase_unwrapping photo plot python3 quality rapid reg rgbd saliency shape stereo stitching structured_light supe
rres surface_matching text tracking ts video videoio videostab world xfeatures2d ximgproc xobjdetect xphoto
Disabled: -
Disabled by dependency: -
Unavailable: cnn_3dobj cvv freetype hdf java js matlab ovis python2 python2 sfm viz
Applications: tests perf_tests apps
Documentation: NO
Non-free algorithms: NOWindows RT support: NO
GUI:
Win32 UI: YES
VTK support: NOMedia I/O:
ZLib: build (ver 1.2.11)
JPEG: build-libjpeg-turbo (ver 2.0.2-62)
WEBP: build (ver encoder: 0x020e)
PNG: build (ver 1.6.37)
TIFF: build (ver 42 - 4.0.10)
JPEG 2000: build (ver 1.900.1)
OpenEXR: build (ver 2.3.0)
HDR: YES
SUNRASTER: YES
PXM: YES
PFM: YESVideo I/O:
DC1394: NO
FFMPEG: YES (prebuilt binaries)
avcodec: YES (58.54.100)
avformat: YES (58.29.100)
avutil: YES (56.31.100)
swscale: YES (5.5.100)
avresample: YES (4.0.0)
GStreamer: NO
DirectShow: YES
Media Foundation: YES
DXVA: YESParallel framework: Concurrency
Trace: YES (with Intel ITT)
Other third-party libraries:
Intel IPP: 2019.0.0 Gold [2019.0.0]
at: D:/soft/dev/opencv/opencv-master/build/3rdparty/ippicv/ippicv_win/icv
Intel IPP IW: sources (2019.0.0)
at: D:/soft/dev/opencv/opencv-master/build/3rdparty/ippicv/ippicv_win/iw
Lapack: NO
Eigen: NO
Custom HAL: NO
Protobuf: build (3.5.1)NVIDIA CUDA: YES (ver 10.0, CUFFT CUBLAS)
NVIDIA GPU arch: 61
NVIDIA PTX archs:cuDNN: NO
OpenCL: YES (NVD3D11)
Include path: D:/soft/dev/opencv/opencv-master/3rdparty/include/opencl/1.2
Link libraries: Dynamic loadPython 3:
Interpreter: C:/Program Files/Python37/python.exe (ver 3.7.6)
Libraries: C:/Program Files/Python37/libs/python37.lib (ver 3.7.6)
numpy: C:/Program Files/Python37/lib/site-packages/numpy/core/include (ver 1.17.4)
install path: C:/Program Files/Python37/Lib/site-packages/cv2/python-3.7Python (for build): C:/Users/xcsc/.windows-build-tools/python27/python.exe
Java:
ant: NO
JNI: NO
Java wrappers: NO
Java tests: NOInstall to: D:/soft/dev/opencv/opencv-master/build/install
-----------------------------------------------------------------
win10 cmake编译 opencv4.0 + pyhton3.7x64的更多相关文章
- CMake编译OpenCV4.0时opencv_ffmpeg.dll等下载失败的解决思路总结
一.Configure会报一些红色的警告信息,比如: 1 CMake Warning at cmake/OpenCVDownload.cmake:193 (message): 2 FFMPEG: Do ...
- [转]VS2015+OpenCV3.3 GPU模块和opencv_contrib模块的编译以及采用CMake编译opencv_contrib时提示“No extra modules found in folder”问题的解决方案
据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边.但是这里边有很多我们经常要用的算法 ...
- opencv4.0.0+cmake编译(含contrib)
https://blog.csdn.net/bobo184/article/details/88749651 前言笔者环境:win10+vs2015+cmake3.8.2 介绍下4.0.0的新特性,沿 ...
- opencv4.0 cuda10 编译速度太慢
opencv4.0 cuda10 对比不带cuda的时候,编译速度太慢,主要卡在cuda的编译上. 参考http://answers.opencv.org/question/5090/why-open ...
- Win10 + vs2017 编译并配置tesseract4.1.0
tesseract 是一个开源的OCR (Optical Character Recognition , 光学字符识别) 引擎,本文就介绍一下自己在编译 tesseract4.1.0时遇到的一些坑,希 ...
- Windows10:Opencv4.0+Opencv4.0.1_contrib编译
操作系统:windows10 64bit 已安装工具:VS2017 64bit,cmake3.12bit. 安装Cmake:到cmake下载3.12及以上版本,64bit, 选择windows下的安装 ...
- linux 下cmake 编译 ,调用,调试 poco 1.6.0 小记
上篇文章 小记了: 关于 Poco::TCPServer框架 (windows 下使用的是 select模型) 学习笔记. http://www.cnblogs.com/bleachli/p/4352 ...
- Win10 下Cmake编译配置 Opencv3.1 + Cuda7.5 + VS2013
折腾了三天终于配置成功了,在此写下编译配置的全部步骤和遇到的很多坑. 整体介绍: OpenCV 中 CUDA 实现的函数还不是太多,使用前要在OpenCV的官网上确认以下你想要的功能是否已经实现,否则 ...
- vs2017+opencv4.0.1安装配置详解(win10)
一.说明 笔者之前已经安装过了vs2017,对应的opencv是3.4.0版本的.但现在想体验下opencv4的改变之处,所以下载了最新的opencv4.0.1. vs2017的安装请自行搜索安装,本 ...
随机推荐
- ThirdAPI
//public class ThirdAPI //{ // [DllImport("ThirdAPI.dll")] // public static extern int Ini ...
- 简易DVD查询系统
==========DVD管理系统========== 这是DVD任务管理器的主界面: package day20181224; import java.text.ParseException; im ...
- windows2012R2标准版升级到数据中心版,不用重装系统
windows2012R2标准版升级到数据中心版,不用重装系统 Windows Server 2012 R2是微软的服务器系统,是 Windows Server 2012 的升级版本. Windows ...
- 尚硅谷面试第一季-07Spring Bean的作用域之间有什么区别
目录结构: 关键性代码: beans.xml <!-- ★bean的作用域 可以通过scope属性来指定bean的作用域 -singleton:默认值.当IOC容器一创建就会创建bean的实例, ...
- 第一次怎么把本地git仓库的内容push到远程仓库?
使用git push origin <分支名> -f 这种方式可以用本地仓库的内容覆盖远程仓库.
- 集训总结DAY.1(18.5.22)——KMP
DAY 1——5.22 in the morning 依稀记得我们有一场contest. at night chf大佬讲KMP,先膜一波~~~ luoguP3375KMP模板题 KMP算法,又称模式匹 ...
- rocketmq总结(消息的顺序、重复、事务、消费模式)
rocketmq总结(消息的顺序.重复.事务.消费模式) 参考: http://www.cnblogs.com/wxd0108/p/6038543.html https://www.cnblogs.c ...
- Codeforces Round #535 (Div. 3) 解题报告
CF1108A. Two distinct points 做法:模拟 如果两者左端点重合就第二条的左端点++就好,然后输出左端点 #include <bits/stdc++.h> usin ...
- CF981D Bookshelves
按位贪心+DP的好题qwq 首先看到题目的要求,统计价值的时候的操作是按位与,就要有按位分别计算的意识 开始没意识到结果想了好久还是看了题解才想到 由于统计价值的方式不是加和,所以可能会出现两个较大的 ...
- JavaWeb--简单分页技术
分页需要的技术点:1.前台分页标签的使用 2.前台上一页,下一页显示的业务逻辑 3.MSQL用到的语句 limit 4.封装pageBean对象 这个是PageBean用到的 分页公式: int t ...