目录

  • Ⅰ、VS 中基于 C++ 的 OpenCV 环境搭建(编译源码 cmake + opencv 4.2.0 + opencv_contrib 4.2.0)
    • 1-1. 安装 cmake
    • 1-2. 使用 cmake-gui 配置 opencv
    • 1-3. 添加 opencv_contrib,生成建构档
    • 1-4. 使用vs2019打开建构项目,编译、安装
  • Ⅱ、Anaconda 中基于 Python 的 OpenCV 环境搭建
    • 2-1. 用 Anaconda 安装 OpenCV
    • 2-2. Pycharm 建立工程验证
  • 参考文章

Ⅰ、VS 中基于 C++ 的 OpenCV 环境搭建(编译源码 cmake + opencv 4.2.0 + opencv_contrib 4.2.0)

由于下载发行版无论是去 OpenCV 官网 还是 Github 都很慢,这里选择去码云下载源码并用 Cmake (官网同样很慢,这里选择去腾讯软件中心下载,搜索 cmake,选择 64 位版本,点击普通下载)编译,注意,本文是采用编译 opencv 源码的方式进行 opencv 环境的搭建,这种方式十分繁琐,类似打包发布一个跨平台 Qt 程序。如果网络允许,下载的到 opencv 安装包,解压后直接配置环境是最简单快捷的。

本机配置环境:

  • win10 x64 1909
  • VS 2019
  • cmake-3.15.5-win64-x64
  • opencv 4.2.0
  • opencv_contrib 4.2.0

cmake 是跨平台的建构工具,能产生标准的建构档(如 Unix 的 Makefile),opencv 源码工程中放置已开发的稳定功能模块,opencv_contrib 中是正在开发的新特性分支。
配置流程1

  1. 使用 cmake-gui 配置 opencv
  2. 添加 opencv_contrib,生成建构档
  3. 使用 vs2019 打开建构项目,编译、安装

默认 VS 已经配置好,并且上述所需文件已经下载好,下面是主要配置过程:

1-1. 安装 cmake

在下图安装选项处选择添加到系统 PATH 中,并生成桌面图标

1-2. 使用 cmake-gui 配置 opencv

  1. 解压 mirrors-opencv-master.zip 获得 opencv 源码,如下图:
  2. 使用 cmake-gui 编译 opencv:
  3. 一般会出现 ippicv_2019_win_intel64_20180723_general.zip opencv_videoio_ffmpeg_64.dll opencv_videoio_ffmpeg.dll 这三个文件下载不下来的情况,许多博客有谈过这个问题,解决方法并不复杂,但是需要能够畅通访问外网,比如直接去Github下载(要根据自己的版本修改 url)或者直接浏览器打开类似下面的这种网址:
    https://raw.githubusercontent.com/opencv/opencv_3rdparty/自己的MD5校验码/ffmpeg/opencv_ffmpeg.dll
    用下载得到的文件替换原来下载失败的文件,我的情况是下载速度十分慢,普通网络不可能成功,最终参照这篇博客2将他的两个方法结合使用,最后成功:
    首先下载他的 .cache文件夹,将ippicv_2019_win_intel64_20180723_general.zip文件前的校验码替换成自己的(因为自己所需的正好就是 20180723 这个版本)

    但是之后同样的方法替换opencv_ffmpeg.dllopencv_ffmpeg_64.dll没有成功,在 cmake 配置时仍然会重新下载这两个文件,这时再按照博客所述第一种方法,修改ffmpeg.cmake文件中的下载地址,红框中改为staticdn.net

    因为在我这里只采用第一种方式行不通,仍然会报错(下图所示情况),所以最后的解决方式有点绕弯,可能不具普遍性,如有不同,请多参考其他博客。

1-3. 添加 opencv_contrib,生成建构档

(这里也将 BUILD_opencv_world 勾选上)

这时出现 boostdesc_bgm.i 等文件和 face_landmark_model.dat 文件下载不下来的情况。
boostdesc_bgm.i 等文件参考博客3后仍未解决,问题和上面 ffmpeg 一样,即便把下好的文件拷过去,在生成的时候还是会重新下载(可能是没放对位置,应该不是大多数博客所描述的位置),这里仍然采用改变下载地址的方式得到解决,具体是将opencv_contrib解压路径\modules\xfeatures2d\cmake\文件夹下的两个 cmake 文件中的地址改成staticdn.net
对于 face_landmark_model.dat 的解决方式,仍然是修改下载地址,所要修改的文件和路径是:
opencv_contrib解压路径\modules\face\CMakeLists.txt
最终会在安装目录\opencv\build文件夹下的生成 OpenCV.sln VS 项目。

1-4. 使用vs2019打开建构项目,编译、安装

  1. 全部编译
    在 cmake-gui 中点击 open project 或者直接打开安装目录\opencv\build文件夹下的 OpenCV.sln 项目(可能用管理员方式打开),然后全部编译(编译出 Debug 和 Release 版本)方便之后使用:


    耐心等待,这个过程十分漫长,十分吃电脑性能。
  2. 生成 install

  3. 新建空 VS 项目,使用编译好的 install 文件,配置项目环境4
    (1) 添加环境变量
    系统变量 Path 中添加安装目录\opencv\build\install\x64\vc16\bin
    (2) 配置项目属性


    (3) 测试代码5
    新建源文件

    测试代码:
#include "opencv2/core/utility.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/imgcodecs.hpp"
#include "opencv2/highgui.hpp"#include <stdio.h>using namespace cv;
using namespace std;int edgeThresh = 1;
Mat image, gray, edge, cedge;// define a trackbar callback
static void onTrackbar(int, void*)
{blur(gray, edge, Size(3, 3));// Run the edge detector on grayscaleCanny(edge, edge, edgeThresh, edgeThresh * 3, 3);cedge = Scalar::all(0);image.copyTo(cedge, edge);imshow("Edge map", cedge);
}static void help()
{printf("\nThis sample demonstrates Canny edge detection\n""Call:\n""   /.edge [image_name -- Default is ../data/fruits.jpg]\n\n");
}const char* keys =
{"{help h||}{@image |../data/fruits.jpg|input image name}"};int main(int argc, const char** argv)
{CommandLineParser parser(argc, argv, keys);if (parser.has("help")){help();return 0;}//!!!!这里将 filename 换成你自己图片的绝对路径就可以了,只要修改这一处!!!!string filename = "C:\\Users\\Joey\\Desktop\\ZZX\\hust.jpg";image = imread(filename, 1);if (image.empty()){printf("Cannot read image file: %s\n", filename.c_str());help();return -1;}cedge.create(image.size(), image.type());cvtColor(image, gray, COLOR_BGR2GRAY);// Create a windownamedWindow("Edge map", 1);// create a toolbarcreateTrackbar("Canny threshold", "Edge map", &edgeThresh, 100, onTrackbar);// Show the imageonTrackbar(0, 0);// Wait for a key stroke; the same function arranges events processingwaitKey(0);system("pause");return 0;
}

运行结果:
原图:

结果图:

Ⅱ、Anaconda 中基于 Python 的 OpenCV 环境搭建

2-1. 用 Anaconda 安装 OpenCV

默认已经安装有 Anaconda ,清华源当下是正常的,下面列举一些 conda 操作:

# 添加清华源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/conda config --set show_channel_urls yes# conda 更新
conda update conda
# anaconda(升级anaconda前需要先升级conda)
conda update anaconda
# anaconda-navigator 更新
conda update anaconda-navigator
# spyder 更新
conda update spyder
# 更新所有包
conda update --all

由于之前 Anaconda 配置过很多环境,而深度学习框架更新的很快,大多数现在已经不合适了,这里重装了一次 Anaconda,直接将 OpenCV 配置在 base 环境中,可以看到 openCV 最新版是 4.2.0:

如果上面安装速度很慢,可以尝试用 conda 命令行(Anaconda Prompt)安装(可能 anaconda navigator 中使用的是官方源)

conda install libopencv=4.2.0
conda install opencv=4.2.0
conda install py-opencv=4.2.0

安装过程如下:

2-2. Pycharm 建立工程验证

我这里相当于重新配置了 Anaconda 和 Pycharm,一开始就要选择编译器,这里可以在工程设置中修改。

添加代码测试:

import cv2
import sysif __name__ == "__main__":# 将自己准备的图片拷贝到当前目录下image = cv2.imread('hust.jpg', cv2.IMREAD_ANYCOLOR)cv2.imshow("image", image)cv2.waitKey(0)cv2.destroyAllWindows()

注意更换编译器后需要漫长等待 Pycharm 建构项目。
构建完成后,需要配置目标文件:

运行结果:

综上,完成了 Pycharm 中 OpenCV 环境的配置。

参考文章


  1. (win10 + vs2019) cmake编译 (opencv4.1.0 + opencv_contrib4.1.0) ↩︎

  2. ippicv_2019_win_intel64_20180723_general.zip opencv_videoio_ffmpeg_64.dll opencv_videoio_ffmpeg.dll ↩︎

  3. 安装OpenCV时提示缺少boostdesc_bgm.i文件的问题解决方案(附带资源) ↩︎

  4. win10(x64)+vs2019+openCv4.1.0环境搭建 ↩︎

  5. Windows下 Cmake + VS 编译 OpenCV (+ opencv_contribute)源码 ↩︎

基于 C++ 和 Python 的 OpenCV 环境搭建相关推荐

  1. 【学习OpenCV4】案例3:OpenCV Python语言开发环境搭建

    本书分享内容来自图书学习OpenCV 4:基于Python的算法实战>,该书刚刚上市,是国内第一本系统讲解OpenCV4各个模块的图书,配套案例深入浅出的讲解.第一章有在各个平台搭建环境的介绍, ...

  2. CentOS6.5_64下 nginx+uwsgi+Python +多站点环境搭建

    本文章为各位介绍一篇关于CentOS6.5_64下 nginx+uwsgi+Python +多站点环境搭建 python web django 框架的例子. 作为一个严谨(其实就是有强迫症)的程序,为 ...

  3. OpenCV环境搭建(一)

    OpenCV环境搭建 环境搭建为OpenCV的python(一下简称py)开发环境搭建,建立在py3的环境和语法上实现的. windows系统搭建 系统环境:windows 10 + python 3 ...

  4. ESP8266基于WIN10+UBUNTU18.04的开发环境搭建(RTOS 3.2)(比较水)

    ESP8266基于WIN10+UBUNTU18.04的开发环境搭建(RTOS v3.2) 软件基础环境参考 硬件环境参考 软件环境安装的详细内容 软件基础环境参考 WIN10家庭版1803的64位版本 ...

  5. NLP1 —— Python自然语言处理环境搭建

    最近开始研究自然语言处理了,所以准备好好学习一下,就跟着<Python自然语言处理>这本书,边学边整理吧 安装 Mac里面自带了python2.7,所以直接安装nltk就可以了. 默认执行 ...

  6. 基于QEMU-aarch64学习UEFI(EDK2)-1环境搭建

    基于QEMU-aarch64学习UEFI(EDK2)-1环境搭建 文章目录 基于QEMU-aarch64学习UEFI(EDK2)-1环境搭建 一.环境搭建 1.虚拟机Ubuntu系统安装 2.dock ...

  7. 使用飞凌嵌入式IMX6UL-C1板子——qt+opencv环境搭建

    使用飞凌嵌入式IMX6UL-C1板子--qt+opencv环境搭建 准备工作: Ubuntu18.04虚拟机环境 飞凌官方提供的qt-tslib库,gcc交叉编译器,opencv源码库,qt源码,具体 ...

  8. python配置OpenCV环境_总结

    文章目录 一.说明 二.步骤 1 下载4个工具 2 出现pip版本错误,更新版本 3 卸载原pip 4 卸载错误 5 下载最新版pip 6 查看pip版本 7 检查是否成功 三.总结 简单粗暴 检查 ...

  9. 手把手教你们Python配置OpenCV环境,小白看一遍就会了☀️《❤️记得收藏❤️》

    手把手教你们Python配置OpenCV环境,小白看一遍就会了☀️<❤️记得收藏❤️>

最新文章

  1. 关于一些Linux SVN的安装使用
  2. 计算机审计 pdf,计算机审计第三章作业.pdf
  3. smartsql和mysql_SmartSql 常见问题
  4. python语言用途-Python是万能的编程语言吗?这五大用途很重要!
  5. SuperMap产权登记管理平台
  6. Oracle 11gR2 RAC恢复OCR和VOTE DISK
  7. lee最短路算法_Lee算法的解释:迷宫运行并找到最短路径
  8. 使用 stm32实现锂电充电_千次循环使用,ZMI可充电锂电池套装,够用一辈子吗?...
  9. shell_script_查询主机名、ip地址 、DNS地址
  10. 【Python实例第28讲】核主成分
  11. 社会工程学之《反欺骗的艺术》小结(三)
  12. 台式计算机配置单,最新台式电脑组装配置推荐
  13. Android原生获取经纬度位置信息
  14. HTML中span标签使用详解含多种实例(转)
  15. 球面图形到全景图像的正投影和逆投影
  16. Mac OS的管理员密码重置方法
  17. Spark 写hdfs自定义文件名
  18. wordpress点击伸缩归档(archives)页面
  19. AI视频融合平台EasyCVR现已支持华为宇视等四种SDK接入
  20. 大厂offer?拿来吧你!网易有道笔试编程题特辑

热门文章

  1. 科大讯飞麦克风阵列回声消除须知 V1.0
  2. PS修改PSD源文件
  3. Beats:在 Docker 里运行 Filebeat
  4. 转发: Feign报错feign.RetryableException: too many bytes written executing
  5. 小程序之定位签到打卡=>腾讯地图SDK
  6. 主成分回归分析实战教程
  7. HttpStatus状态详解
  8. 02-JVM堆里面的分区:Eden,survival (from+ to),老年代,各自的特点?
  9. 怎样拍摄全景照片?全景图片拍摄流程
  10. python 老照片修复软件_这款开源的 Python 老照片修复工具火了