Ubuntu 安装 opencv ,cmake 因网络问题不能下载文件的问题(附已编译opencv网盘资源)

在编译OpenCV4.5.5时遇到网络问题导致某些文件下载不全,可以通过手动下载缺失文件并修改CMake配置文件以替换下载源,从而成功编译和安装OpenCV。这种方法特别适用于解决FFmpeg、ippicv等模块的下载失败问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

手动下载文件

我安装的是opencv4.5.5,安装过程可以参考下面这个,不过对文件的缺失我是直接复制下好的文件到相关目录下:

https://www.cnblogs.com/phyger/p/14069437.html

要注意cmake命令:

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv-3.4.5/opencv_contrib-3.4.5/modules/ -D OPENCV_ENABLE_NONFREE=True ..

cmake 时候会报错,就是一些文件由于“网络问题”下载不下来:

查看CMakeDownloadLog.txt:

 把这些文件手动下载下来,j记得修改文件名字,然后放到 .cache

手动下载的文件(已经按照.cache目录放好)

修改文件名字

 然后执行:

sudo make -j8
sudo make install

编译成功!!!


修改下载网址

2023.8.3 22:09 更新 解决OpenCV在Cmake时,因网络问题无法下载部分所需文件

【OpenCV】编译OpenCV时,FFmpeg或ippicv下载不成功的解决方案,以及其它可能下载不成功问题的解决方案_wechat_qrcode: download: detect.caffemode无法下载_YiYueHuan的博客-CSDN博客

 其实你执行一次cmake命令后就会能看到需要下载哪些东西:

之前手动下载,然后更换文件比较麻烦,这次发现可以在相关的cmake文件里面修改网址,来实现安装时候下载上述包

部分文件联网下载失败导致opencv过不了cmake解决方法_Yilien10的博客-CSDN博客

按照上面这篇博客,已经修改了ippicvxfeatures2d模块相关文件的下载网址

还需要修改opencv/modules/gapi/cmake/DownloadADE.cmake --> ade文件夹

opencv_contrib\modules\face\CMakeLists.txt  --> face模块,也就是data文件夹

opencv_contrib/modules/wechat_qrcode/CMakeLists.txt-->wechat_qrcode文件夹

重新执行cmake命令,然后就能看到下载相关文件!

sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv-4.5.5/opencv_contrib-4.4.5/modules/ -D OPENCV_ENABLE_NONFREE=True ..

sudo make -j8

sudo make install

 安装成功!!

如此,在中国 编译安装opencv没以前那么坎坷了。

已编译好的资源

我用夸克网盘分享了「opencv4.5.5(已编译).tar.gz」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/a76ac965f0c1

<think>好的,我现在需要帮助用户了解如何在Visual Studio中使用CMake配置OpenCV环境。首先,我需要回顾用户提供的引用内容,看看有什么关键点需要注意。根据引用[1]、[2]、[3]、[4]、[5],用户已经收集了一些步骤,比如设置OpenCV_DIR变量、使用find_package、包含目录、链接库以及复制DLL文件等。 接下来,我需要整理一个清晰的步骤指南,确保用户能够一步步完成配置。首先,用户需要安装必要的软件,如Visual Studio、CMakeOpenCV本身。然后,配置CMakeLists.txt是关键部分,这里需要详细说明如何设置路径、查找OpenCV包、包含头文件和链接库。此外,用户可能需要处理DLL文件的复制问题,尤其是在调试和发布版本中,避免运行时错误。 还要注意不同引用中的差异,比如有些用户选择不编译OpenCV直接使用预编译库,而有些则需要通过CMake编译包含contrib模块的情况。用户的问题中没有提到contrib模块,所以可能只需基础配置。需要提醒用户根据实际情况调整路径,尤其是OpenCV安装目录可能因人而异。 另外,用户提供的引用中有提到复制DLL文件到执行目录,这一点很重要,否则程序运行时可能会找不到必要的库。需要明确说明这一步,并区分Debug和Release版本的DLL。 最后,生成相关问题时要涵盖常见疑问,比如如何处理路径错误、配置失败时的调试方法,以及高级应用如contrib模块的集成。这些问题能够帮助用户进一步解决可能遇到的困难,并扩展他们的应用场景。 总结步骤:安装软件→配置CMakeLists.txt→处理依赖项→验证配置。每个步骤都要简明扼要,避免遗漏关键细节。同时,要确保LaTeX格式正确,行内公式用$...$,独立公式用$$...$$,但在这个问题中可能用到的数学公式不多,但如果有变量或代码路径,可能需要正确格式化。 检查是否有错误,比如路径中的斜杠是否正确,变量名是否准确,如${OpenCV_LIBS}是否正确引用。确保所有命令和代码片段无误,并参考用户提供的示例代码结构,使用代码块包裹CMakeLists.txt的内容。 最后,确保回答使用中文,结构清晰,分步骤说明,并在末尾添加相关问题,帮助用户深入理解。</think>### 如何在 Visual Studio 中使用 CMake 配置 OpenCV 环境 以下是分步配置指南,结合引用内容和实际开发经验整理: --- #### **1. 安装必要组件** - **Visual Studio**:安装时勾选「使用 C++ 的桌面开发」和「CMake 工具」[^2][^3]。 - **OpenCV编译库**:从官网下载编译版本(如 `opencv-4.x.x-vc14_vc15.exe`),解压到非中文路径(例如 `D:\opencv`)[^5]。 - **CMake**(可选):若 Visual Studio 内置 CMake 版本不兼容,可独立安装最新版。 --- #### **2. 配置 CMakeLists.txt** ```cmake cmake_minimum_required(VERSION 3.8) project(YourProjectName) # 设置 OpenCV 路径(需替换为实际路径) set(OpenCV_DIR "D:/opencv/build") # 指向 OpenCV 的 build 目录[^1][^4] # 查找 OpenCV 包 find_package(OpenCV REQUIRED) # 添加可执行文件 add_executable(YourProjectName main.cpp) # 包含头文件目录 include_directories(${OpenCV_INCLUDE_DIRS}) # 链接 OpenCV 库 target_link_libraries(YourProjectName ${OpenCV_LIBS}) ``` **关键点**: - `OpenCV_DIR` 必须指向 OpenCV 的 `build` 目录,包含 `OpenCVConfig.cmake` 文件。 - 若需使用 `opencv_contrib` 模块,需通过 CMake 重新编译 OpenCV 源码[^3]。 --- #### **3. 处理运行时依赖** - **复制 DLL 文件**:将 `opencv_world4xxd.dll`(Debug 版)或 `opencv_world4xx.dll`(Release 版)从 `OpenCV\build\x64\vc16\bin` 复制到可执行文件同级目录[^5]。 - **环境变量**(可选):将 OpenCV 的 `bin` 目录添加到系统 PATH 变量,避免手动复制 DLL。 --- #### **4. 验证配置** ```cpp #include <opencv2/opencv.hpp> int main() { cv::Mat image = cv::imread("test.jpg"); cv::imshow("Demo", image); cv::waitKey(0); return 0; } ``` 编译运行后若能正常显示图像,则配置成功。 --- #### **常见问题解决** - **CMake 报错找不到 OpenCV**:检查 `OpenCV_DIR` 路径是否正确,确保路径中无空格或中文字符。 - **运行时崩溃**:确认 Debug/Release 模式与 DLL 版本匹配,且所有依赖 DLL 已就位[^5]。 --- §§ 1. 如何解决 CMake 配置 OpenCV 时出现的「找不到 OpenCV 包」错误? 2. 在 Visual Studio 中如何切换 OpenCV 的 Debug 和 Release 版本? 3. 如何通过 CMake 编译包含 `opencv_contrib` 模块的 OpenCV 库? 4. 使用 CMake 配置 OpenCV 与传统的 VS 属性表配置有何优缺点? 5. 如何通过 CMake 管理多个 OpenCV 版本共存?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值