http://dl.caffe.berkeleyvision.org/
参考博客:
http://blog.csdn.net/hanchan94/article/details/68926534 opencv3.2.0+contirb+cmake
在win10下实现openCV3.2.0+vs2015+cmake出错解决方案
1、其中的使用Cmake进行编译纯opencv320版本(即不包含有扩展库contirb时)会出现的错误,主要有两个,一个是ffmpeg,一个是ippicv。其主要原因是这两个库未预先
下载。需要cmake在线下载,由于cmake下速度慢可能会导致下载失败。如下:
CMake Warning at cmake/OpenCVUtils.cmake:865 (message):
Download: Local copy of opencv_ffmpeg.dll has invalid MD5 hash:
d41d8cd98f00b204e9800998ecf8427e (expected:
89c783eee1c47bfc733f08334ec2e31c)
Call Stack (most recent call first):
3rdparty/ffmpeg/ffmpeg.cmake:10 (ocv_download)
cmake/OpenCVFindLibsVideo.cmake:193 (include)
CMakeLists.txt:527 (include)
Downloading opencv_ffmpeg.dll...
CMake Error at cmake/OpenCVUtils.cmake:888 (file):
file DOWNLOAD MD5 mismatch
for file: [C:/research/opencv300/sources/3rdparty/ffmpeg/downloads/89c783eee1c47bfc733f08334ec2e31c/opencv_ffmpeg.dll]
expected MD5 sum: [89c783eee1c47bfc733f08334ec2e31c]
actual MD5 sum: [d41d8cd98f00b204e9800998ecf8427e]
Call Stack (most recent call first):
3rdparty/ffmpeg/ffmpeg.cmake:10 (ocv_download)
cmake/OpenCVFindLibsVideo.cmake:193 (include)
CMakeLists.txt:527 (include)
CMake Error at cmake/OpenCVUtils.cmake:892 (message):
Failed to download opencv_ffmpeg.dll. Status=1;"unsupported protocol"
Call Stack (most recent call first):
3rdparty/ffmpeg/ffmpeg.cmake:10 (ocv_download)
cmake/OpenCVFindLibsVideo.cmake:193 (include)
CMakeLists.txt:527 (include)
这时需要自己手动网上下载,放到相应位置即可。文件位置为:opencv\sources\3rdparty\ffmpeg。
其中ffmpeg下载链接为:http://download.csdn.net/detail/yangdashi888/9838952
ippicv文件路径为:opencv\sources\3rdparty\ippicv。
其中ippicv下载链接为:http://download.csdn.net/detail/yangdashi888/9840379
如果电脑为安装有cuda则把cmake里with_cuda给取消掉。
2、当我们添加了扩展库的时候有会出现其他问题,其中的contrib库有两个,不同的库会导致不同的问题,分别是:opencv_contrib-3.2.0和opencv_contrib-master,
这两个可以直接到百度搜即可下载。
其中的opencv_contrib-master问题的主要是:
When configuring opencv with opencv_contrib, the configure fails on the dnn and xfeatures2d modules. The CMake files use FILENAME in the call to ocv_download, but should use PACKAGE as specified in the opencv. This generates the following errors. I've replicated this on Mac OS X and on Windows 7 using CMake-gui.
Downloading ...
CMake Error at /Users/Documents/opencv/source/opencv-3.2.0/cmake/OpenCVUtils.cmake:1045 (file):
file DOWNLOAD cannot open file for write.
Call Stack (most recent call first):
/Users/Documents/opencv/source/opencv_contrib-master/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake:32 (ocv_download)
/Users/Documents/opencv/source/opencv_contrib-master/modules/dnn/CMakeLists.txt:5 (include)
CMake Error at /Users/Documents/opencv/source/opencv-3.2.0/cmake/OpenCVUtils.cmake:1049 (message):
Failed to download . Status=
Call Stack (most recent call first):
/Users/Documents/opencv/source/opencv_contrib-master/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake:32 (ocv_download)
/Users/Documents/opencv/source/opencv_contrib-master/modules/dnn/CMakeLists.txt:5 (include)
原因是这里的cmake文件不是最新的,其在调用ocv_download时使用的指令错误导致下载失败。其要修改的地方是:
opencv_contrib-master/modules/dnn/cmake/OpenCVFindLibProtobuf.cmake
opencv_contrib-master/modules/xfeatures2d/cmake/download_boostdesc.cmake
opencv_contrib-master/modules/xfeatures2d/cmake/download_vgg.cmake
三个地方,打开这些文件的把其里面的
“FILENAME ”改为“
PACKAGE”。让后cmake就会下载相应的文件,不过这个protobuf文件比较大,最好手动下载,文件百度。其它两个比较小,直接下载即可,(最好在翻墙情况下进行)。
其中opencv_contrib-3.2.0文件不出错,因为其cmake文件是最新的,这时我们把protobuf放到相应位置即可。