一文带你安装opencv和常用库(保姆级教程少走80%的弯路)

news2025/1/18 1:57:23

0.导语

离上一个opencv安装保姆级教程发布已经过去了快一年了,这一年来我收到了来自很多C友的鼓励。打算学opencv的各位朋友都会在安装opencv和各种库过程中浪费掉60%的时间和精力;博主在这一年来尝试各种各样的安装方法,全网搜集各种资料总结了一篇非常详细的opencv和常用库的安装教程,若有帮助记得三连,你的三连是我进步的动力。在这里插入图片描述

1. 正文

1.1下载和安装软件

本文我会通过miniconda+jupyter lab的形式带大家安装opencv;
有很多朋友会问为什么不是anaconda+jupyter lab 或者直接pycharm 来安装呢?在这里我回答一下大家的疑问,通过这一年来的学习和实战,我发现anaconda它带了很多不必要的库并且自身很重,像我这样只能买得起轻薄本的学生党连跑demo都跑不了;pycharm也是比较笨重的编译器,配置opencv的过程更让人恶心,一不小心就会出错显然不适合刚学opencv的C友;
在这里插入图片描述
废话少说开始安装:
WINDOWS安装包下载链接
在这里插入图片描述32位电脑安装上面的,64位安装下面的;电脑的位数怎么看?
右击此电脑→点击属性
第一步
第二步
我以64位为举例,目前大多数电脑都是64位操作系统;下面可以参考我的安装步骤去安装
安装第一步
安装第二步
安装第三步
安装第四步
如果大家以上安装全成功那大家已经成功了快一半了;

1.2 了解miniconda常用指令

安装好之后,打开Anaconda Powershell Prompt (miniconda3);
开启miniconda
注意:是Powershell Prompt,不是Prompt;

开启之后是下面这个黑色窗口:
开启窗口
miniconda是通过创建虚拟环境的方式运行python代码的;所以我们得了解一些常用的指令;比如创建一个虚拟环境,怎么删除虚拟环境等;
常用的五个指令
1.创建环境:
conda create --name 环境名称(英文)
2.进入环境:
conda activate 环境名称
3.退出环境:
conda deactivate
4.删除环境:
conda remove --name 环境名称 --all
5.列出所有环境:
conda env list
创建环境:比如我想创建一个名为xiaore的虚拟环境
虚拟环境创建
输入y确认;
下面我们进入这个环境试试;
进入虚拟环境
这样已经算成功地进入了虚拟环境;
接下来就是退出虚拟环境:
退出虚拟环境
接下来我们列出我们的所有环境:
列出所有环境
这里面base是我们的基础环境,xiaore是我们刚刚创建的虚拟环境;
接下来我们试试删除环境这个命令(删除环境之前必须得退回基础环境base里面在进行删除);

1.3 开始安装opencv

上面的几个步骤都是在现在的这个步骤打基础;安装opencv之前我们必须给我们的虚拟环境里现安装python,然后去修改pip和conda的源;安装opencv和 一些常用库;
那我还是举例刚刚那个虚拟环境为举例演示一下;

1.3.1第一步安装python

打开miniconda,进行 conda create --name 环境名称 python=3.8 命令。python版本可以按照自己的需要去更改,建议是3.8的python。
python安装
输入y 确认。
开始安装python相关库
等安装好之后可以进入虚拟环境里测试一下;
python版本测试
可以看出安装的版本是3.8.16;可以输入exit()来退出;

1.3.2第二步pip和conda换源

换源的目的我觉得大家应该都知道,是为了加速下载过程;为了防止有些库因为有些原因下载不了,具体什么原因不用我说懂得都懂。
一,conda换源方法:
参见:conda换源清华源
二,pip换源
第一步: 在C:\Users\Administrator 目录下 创建pip文件夹
第二步:在第一步创建的文件夹下(C:\Users\Administrator\pip)创建pip.ini文件
第三步:记事本编辑保存pip.ini文件内容为以下部分:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host = pypi.tuna.tsinghua.edu.cn
注意:pip文件夹要建立到用户目录下的。
例如:
pip文件
如果上面那些过程都已经没问题了,恭喜你已经成功了80%了。

1.3.3安装opencv和matplotlib等库

安装库常用的指令:
conda install 库名
pip install 库名
conda list
pip list
注意:进入自己的虚拟环境之后再安装;
安装opencv
最后显示done表示已经安装成功;
我们来安装一下matplotlib
matpotlib安装
安装成功;
安装成功

1.3.4最后安装jupyter lab:

jupyterlab
运行jupyter lab
运行
jupyter lab界面
如果整个过程没问题的话打开之后应该是这样的一个页面;你已经成功了90%了。

2.跑你的第一个opencv代码


```python
import cv2
import matplotlib.pyplot as plt
img=cv2.imread("./Downloads/xiaoye.jpg")
cv2.namedWindow("Image")
plt.imshow(img)
cv2.waitKey(0)

注意图片在你的文件路径里;

`在这里插入图片描述
``
如果到这一步运行成功,那说明你已经成功地安装opencv和成功运行了;

3.conda常用几个指令

换好源之后安装一些库的话,就进到虚拟环境里头运行
conda install 库名
pip install 库名
就行

4.结束语

看到这里,如果你成功了的话那祝你往后的学习成功和快乐;也希望你能给我个三连支持(好人一生平安)!世界很烦躁,能静下心来去掌握一个技术,去爱自己和生活的都是成功者。最后用稚晖君的一句话来结束本文吧;请不要温和地走进那段良夜,请保持热爱,奔赴星海!
我是小叶同学,谢谢你的喜欢~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/415323.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[ 云计算 | Azure ] Chapter 05 | 核心体系结构之管理组、订阅、资源和资源组以及层次关系

本文主要对如下内容进行讲解:Azure云计算的核心体系结构组件中的:资源、订阅和资源组,以及了解 Azure 资源管理器 (ARM) 如何部署资源。 本系列已经更新文章列表: [ 云计算 | Azure ] Chapter 03 | 描述云计算运营中的 CapEx 与…

元宇宙与网络安全

元宇宙是一种虚拟现实空间,用户可以在计算机生成的环境中进行互动。元宇宙的应用范围很广,比如房地产,医疗,教育,军事,游戏等等。它提供了更具沉浸感的体验,更好地现实生活整合,以及…

图像分类算法:ResNet论文解读

图像分类算法:ResNet论文解读 前言 ​ 其实网上已经有很多很好的解读各种论文的文章了,但是我决定自己也写一写,当然,我的主要目的就是帮助自己梳理、深入理解论文,因为写文章,你必须把你所写的东西表达清楚…

游戏工厂:AI(AIGC/ChatGPT)与流程式游戏开发(码客 卢益贵)

关键词:AI(AIGC、ChatGPT、文心一言)、流程式管理、好莱坞电影流程、电影工厂、游戏工厂、游戏开发流程、游戏架构、模块化开发 一、前言 开发周期长、人工成本高、成功率低等使得游戏公司融资比较困难。有的公司凭一个爆款游戏一骑绝尘之后…

奇异值分解(SVD)和图像压缩

在本文中,我将尝试解释 SVD 背后的数学及其几何意义,还有它在数据科学中的最常见的用法,图像压缩。 奇异值分解是一种常见的线性代数技术,可以将任意形状的矩阵分解成三个部分的乘积:U、S、V。原矩阵A可以表示为&#…

阿里通义千问、百度文心一言、ChatGPT与GPT-4大比拼

各个大模型的研究测试传送门 ​阿里通义千问传送门: https://tongyi.aliyun.com/chat 百度文心一言传送门: https://yiyan.baidu.com/ ChatGPT传送门(免墙,可直接注册测试): https://wowchat.cn GPT…

离线安装k8s/kubernetes v1.17.1并部署服务验证功能

条件: 3台没有网络的centos7.9服务器 1.系统优化 hostnamectl set-hostname k8s-master && bash #只在master节点上执行 hostnamectl set-hostname k8s-node1 && bash #只在node1节点上执行 hostnamectl set-hostname k8s-node2 && …

嵌入式:BSP的理解

BSP概念总结BSP定义BSP的特点BSP的主要工作BSP在嵌入式系统和Windowsx系统中的不同BSP和PC机主板上的BIOS区别BSP与 HAL关系嵌入式计算机系统主要由 硬件层,中间层,系统软件层和应用软件层四层组成。硬件层:包含CPU,存储器(SDRAM&…

(数字图像处理MATLAB+Python)第四章图像正交变换-第一节:离散傅里叶变换

文章目录一:一维离散傅里叶变换(1)定义(2)实例二:一维快速傅里叶变换(1)定义(2)实例三:二维离散傅里叶变换(1)定义&#x…

SpringCloud微服务技术栈.黑马跟学(十二)

SpringCloud微服务技术栈.黑马跟学 十二今日目标服务异步通信-高级篇1.消息可靠性1.1.生产者消息确认1.1.1.修改配置1.1.2.定义Return回调1.1.3.定义ConfirmCallback1.2.消息持久化1.2.1.交换机持久化1.2.2.队列持久化1.2.3.消息持久化1.3.消费者消息确认1.3.1.演示none模式1.3…

Flutter TextField UI 实例 —— 新手礼包

大家好,我是17。 新手礼包一共 3 篇文章,每篇都是描述尽量详细,实例讲解,包会! Flutter Row 实例 —— 新手礼包Flutter TextField UI 实例 —— 新手礼包Flutter TextField 交互实例 —— 新手礼包 本篇介绍了 Tex…

机器学习:基于逻辑回归对超市销售活动预测分析

系列文章目录 作者:i阿极 作者简介:Python领域新星作者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒关注哦!&a…

linxu学习之进程

文章目录进程程序和进程产生进程销毁进程多进程高并发设计孤儿僵尸守护进程孤儿进程:守护进程(重点)僵尸进程:进程 程序和进程 操作系统可以运行多个程序,那他是如何运行的?实际上,CPU的执行是很快的,而待…

《随便测测》WEB接口测试平台

编写用例的船新版本,从未有过的顺滑体验背景在保证用例运行稳定、高效、准确的前提下以降低测试人员编写用例的时间为目的,减少编写用例的复杂度,达到提升效率的目的。解决问题因被测系统业务流程长,接口多(多的一个场…

【ssl认证、证书】SSL 证书基本概念、证书格式、openssl和keytool的区别

文章目录1. keytool VS openssl2. X.509 VS PKCS2.1 PKCS2.2 X.5092.2.1 证书编码格式2.2.1.1 DER 证书编码格式二进制2.2.1.2 文本格式 pem2.2.2 文件后缀名3. 常见Web服务软件及证书格式参考相关文章://-----------Java SSL begin----------------------【ssl认证…

【云原生】k8s集群命令行工具kubectl之集群管理命令

kubectl集群管理命令详解一、准备工作1.1、Replication Controller1.2、Deployment1.3、DaemonSet1.4、查看创建的svc和pod1.5、kubectl 命令自动补全设置二、集群管理命令2.1、top2.2、cordon2.3、uncordon2.4、drain2.5、taint2.5.1、污点设置。2.5.2、容忍度使用一、准备工作…

Scala之函数式编程

目录 函数和方法的区别: 参数默认值: 函数至简原则---能省则省: 至简原则细节 匿名函数的化简: 匿名函数至简原则: 高阶函数: 高阶函数的三种用法: (1)函数可以作…

【K8S系列】深入解析Pod对象(二)

目录 序言 1.Volume 简单介绍 2 Projected Volume 介绍 2.1 Secret 2.1.1 yaml讲解 2.1.2 创建Pod 2.2 Downward API 2.2.1 yaml示例 2.2.2 Downward API 支持字段 3 投票 序言 任何一件事情,只要坚持六个月以上,你都可以看到质的飞跃。 在…

SqlServer实用系统视图,你了解多少?

SqlServer实用系统视图,你了解多少?前言master..spt_valuessysdatabasessysprocesses一套组合拳sysobjectssys.all_objectssyscolumnssystypessyscommentssysindexes结束语前言 在使用任何数据库软件的时候,该软件都会提供一些可能不是那么公…

小规模容器编排使用Docker Swarm不香么,用个锤子的kubernetes

文章目录一、Docker Swarm是什么?二、Swarmkit和Swarm Mode是什么?三、Docker Swarm的核心设计四、Docker Swarm安装部署4.1、初始化Swarm节点14.2、新节点加入Swarm集群4.3、使用swarm部署服务4.4、swarm集群管理一、Docker Swarm是什么? D…