Opencv环境配置及踩坑

1.什么是Opencv

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉机器学习软件库,可以运行在LinuxWindowsAndroid和[Mac OS](https://baike.baidu.com/item/Mac OS/2840867)操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

当然了,上述是百度的解释,大一上学期现阶段,我拿Opencv主要是当个消遣的玩具,做做脸部识别、手势识别这些项目

OpenCV用C++语言编写,它具有C ++,PythonJavaMATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。

2.Opencv的配置

喜闻乐见的配环境时间,由于是第一次配环境(之前在Ubuntu上配置gcc环境太简单,不算入计数了),所以还是踩了不少坑,特地在此记录一下

相比于Tensorflow或是yolo,我觉得Opencv还是方便一些,Opencv仅仅只是一个库,我们安装就行了,yolo确实要装很多库,当然也可能是我的方法不对.

1.C++

第一次尝试:Clion+Mingw+Opencv+Cmake

首先毫不意外的,如果我们使用Mingw编译器进行环境配置,我个人是出于不想安装Vs这种庞然大物在我硬盘本来就不大的笔记本电脑上,所以我选择这套方案,但这套方案的弊病是十分的恼人,过程繁琐,中间会出现许多的问题(大部分还是因为国内网络政策原因)

我们在已经配置好Mingw编译器的Clion中想要安装Opencv,去官网下载下文件后,需要利用Cmake进行编译,在Opencv目录下新建一个文件夹,推荐命名为Mingw-build,之后打开Cmake,将Source code选为opencv目录下的sources,将要build的目标文件夹设为你新建的文件夹Mingw-build,点击configure,选择MingGW Makefiles,之后点击两次次configure,最后点击一次finish即可

第一次点击configure等待进度条结束后,列表中会出现很多红色项,再次点击一次configure,等待进度条走完之后就均会变白了,但其实在这些步骤中就已经出现很多问题了,首先在编译过程中实际上是需要联网下载许多动态链接库的,例如opencv_ ffmpeg_64.dll,不同人的情况不同,有些人全部都可以下载完成(我是没见过),运气好的只差一两个文件,我配置时则是五六个文件都无法下载(不知是不是校园网原因)

解决方法也不难,请访问sources目录下的3rdparty文件夹,在其中找到下载过程中的log文件,其中就包含了这些下载失败的文件的下载地址,粘贴链接到浏览器中进行下载即可,下载完毕后需要将对应的文件名改为log文件中对应的MD5码,值得一提的是,在这些文件中,因为官方太久没有进行维护,所以会存在部分文件的下载地址失效的问题,例如访问对应的连接后,页面为一些代码,将这些页面保存到本地,后缀改为.cmake即可

但即使这样,可能还是无法成功,这是有可能是环境变量未添加所导致的,或者也可以尝试自己在所新建的项目中编写cmake文件,但由于我折腾了一下午也没成功,所以我最后没有钻研下去,这里贴出一个链接所述这两种方案

链接


第二次尝试:Visual Studio+Vs编译器+Opencv

由于被第一次尝试折磨的不耐烦了,索性卸载了Clion一口气换了Vs(我个人不喜欢电脑上有重复的可以解决相同问题的软件),Visual Studio的环境配置比起上述方案就要简单的多,不得不感慨还是巨硬大公司有底气

这里推荐两种方法进行Opencv的安装,其中一种是使用Vcpkg,另一种是手动进行安装

我个人使用的方法是后者,跟着视频教程走就行.

链接

第二种方法比较懒人,但也得益于巨硬为我们提供的如此强大的工具,可能有很多人没听说过Vcpkg,这里贴一篇CSDN的文章

Vcpkg

题外话:虽然成功在Vs方案下配置了Opencv,但实际使用过程中非常不方便,很多项目中Python拥有强大的第三方库帮助实现辅助功能,而C++显得有些乏力

2.Python

Finally,还是选择了Python下使用Opencv的方案,第三方库实在是太香了

最主要是发现Python的pip太爽了,打开对应Python目录下的pip,输入一行指令pip install opencv-python即可自动安装完毕,新建一个项目import cv2即可

但上述安装方式仅仅只是安装了Opencv的一个基础包,还有一个拓展包也是我们必不可少的,输入pip install opencv-contrib-python即可

至此,折腾了一下午加一晚上的Opencv环境配置终于结束了

我也成功写出了我第一个人脸识别的项目,体会到了Opencv这个库的好玩之处,当然了,这仅仅只是皮毛中的皮毛,但不得不说,这比什么传统算法题,刷什么oj可有意思多了

Opencv环境配置及踩坑的更多相关文章

  1. Pytorch及Yolov5环境配置及踩坑

    Pytorch及Yolov5环境配置及踩坑 1.何为Yolov5 yolo是计算机视觉方面用来进行目标检测的一个十分出名的开源框架,我搜不到官方的对此概括性的定义,但实际上也没什么必要,更重要的是会使 ...

  2. pycharm+PyQt5+python最新开发环境配置,踩坑过程详解

    安装工具:Pycharm 专业版2017.3PyQT5python3 pyqt5-tools 设置扩展工具的参数找到setting->tools->external tools,点击加号新 ...

  3. React Native Android配置部署踩坑日记

    万事开头难 作为一只进入ECMAScript世界不久的菜鸟,已经被React Native的名气惊到了,开源一周数万星勾起了我浓烈的兴趣.新年新气象,来个HellWorld压压惊吧^_^(故意少打个' ...

  4. android开发环境配置和一些坑

    要开发安卓应用,首先就是要配置安卓的开发环境. 新手在这个步骤时,会发现安卓的开发环境配置不是一般的麻烦,因为一般人是选择eclipse+a sdk+adt的,需要java环境,需要翻 墙,需要有非一 ...

  5. Flutter开发环境(Window)配置及踩坑记录

    Flutter 是 Google 用以帮助开发者在 iOS 和 Android 两个平台开发高质量原生 UI 的移动 SDK.Flutter 兼容现有的代码,免费且开源,在全球开发者中广泛被使用. F ...

  6. Linux 初始环境配置 以及避坑 (详细)

    没事儿喜欢自己装个虚拟机捣鼓捣鼓,经过几次装一些Linux 经验, 有时候  电脑了 .想重新系统了,又要重新去配置环境, 有时候又要去查很多很多命令 . 记录分享下Linux 下配置开发环境以及桌面 ...

  7. AVT Vimba与OpenCV环境配置

    近来,由于项目需求,需要使用AVT的一款相机采集图像并进行相应的算法处理.环境的配置过程较为复杂,特此记录,以做备忘.也给有需要的小伙伴们一些key point的分享. 搭建环境:Windows7 + ...

  8. spring零配置AOP踩坑指南

    今天照着书,试着配了AOP(全注解),结果踩了各种坑,后来参考书附带的源码,终于走出来了,现在总结一下 除了spring的jar包以外,还需要导入以下包: 1.Spring核心配置文件beans.xm ...

  9. opencv 环境配置-windowsx64 +VS2017

    opencv版本为4.1.1官方最新版本, https://sourceforge.net/projects/opencvlibrary/ 先配置本地工程环境: 右键我的电脑-属性 将bin的路径添加 ...

随机推荐

  1. input 输入框背景色设置为透明

  2. PHP单粒模式

    <?php class C { //三私一公 protected static $_instance = null; protected function __construct() //pro ...

  3. 后端Python3+Flask结合Socket.io配合前端Vue2.0实现简单全双工在线客服系统

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_158 在之前的一篇文章中:为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统,详 ...

  4. 协程 && 异步例子

    # 异步redis # 在使用python代码操作redis的时候,连接.操作.断开都是网络IO. # 安装aioredis模块: pip install aioredis==1.3.1 # 例: 该 ...

  5. Prometheus+Grafana+钉钉部署一个单机的MySQL监控告警系统

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 目录 一.Prometheus 二.exporter ...

  6. 业务可视化-让你的流程图"Run"起来(6.定时任务&Spring-Batch的集成)

    前言 首先,感谢大家对上一篇文章[业务可视化-让你的流程图"Run"起来(5.SpringBoot集成&微服务编排)]的支持. 分享一下近期我对这个项目的一些改进. 在项目 ...

  7. 基于webgl(threejs)的路面编辑

    楔子 在很多应用中,特别是一些园区类的应用. 都需要对园区的地面 环境进行展示,路面就是地面的一部分. 通常的做法是,都是建模的时候把相关的元素都建好,然后导入到展示系统中进行展示. 不过有些情况下, ...

  8. CF360E Levko and Game(贪心)

    这题贪心停水的,找\(dis1<=dis2\)的点往歇斯底里地砍,砍到没法砍就是. 写博客是为了记录下遇到的神奇bug #include <iostream> #include &l ...

  9. 【IDEA】IDEA打开欢迎页面

    概述 IDEA在默认情况下,会进入最后一个项目.如果项目比较大的话会加载的比较久,这个就比较烦人了,目前我觉得最好的办法就是在设置中直接进入欢迎页面. 解决方案 ① 进入设置 ② Appearance ...

  10. Linux常用基础命令一

    一.目录操作 进入路径 cd [目录地址] 切换回主目录 cd 返回上一个路径 cd - 打印当前路径 pwd 列出目录下文件 ls ---查看只包含非隐藏文件 ls -a -----查看目录下所有文 ...