【1】OpenCV虚拟环境搭建

文章目录

  • OpenCV虚拟环境搭建
    • (一)安装anaconda
    • (二)anaconda修改虚拟环境默认位置
      • STEP1:找到`C:\Users\你的用户名`下的`.condarc`文件
      • STEP2:修改指定文件夹的权限(重点)
    • (三)安装3.4.1.15版本的opencv-python和opencv-contrib-python
      • (1)创建虚拟环境
        • 1.查看python版本
        • 2.创建虚拟环境
        • 3.查看虚拟环境
        • 4.进入虚拟环境
      • (2)安装
      • (3)检查一下是否安装成功

OpenCV虚拟环境搭建

(一)安装anaconda

略。

(二)anaconda修改虚拟环境默认位置

默认情况下,新建的虚拟环境会在C:\Users\你的用户名\.conda\envs下;如果不想占用C盘的空间,可以修改conda的虚拟环境安装路径。

STEP1:找到C:\Users\你的用户名下的.condarc文件

.condarc中,添加或修改env_dirs的取值为你想设置的路径,以D:\ANACONDA\envs为例:

envs_dirs:- D:\ANACONDA\envs

此时,在Anaconda Prompt命令行中执行conda info,可以看到该路径排在了首位(按顺序,第一个路径为默认路径)。

image-20240910143746938

STEP2:修改指定文件夹的权限(重点)

找到刚才你指定的D:\ANACONDA\envs文件夹,右键——属性——安全,选中Users,点击编辑。

然后将Users的权限,除“特殊权限”外,全部允许。

image-20240910143951939

至此,新建的虚拟环境就默认在D:\ANACONDA\envs下了。

(三)安装3.4.1.15版本的opencv-python和opencv-contrib-python

opencv-python的一些新版本由于部分算法申请了专利,如sift和surf,用不了,所以最好使用opencv-python 3.4.1.15版本的。

若想安装该版本,我们自然会想到,打开Anaconda Prompt环境,在里面执行pip install open-python==3.4.1.15。——但这样大概率会报错,说找不到对应版本。

这个报错的原因是,3.4.1.15版本的opencv只能在python3.6的环境下安装。

至此,接下来说如何顺利安装。

(1)创建虚拟环境

1.查看python版本

打开Anaconda Prompt,使用python --version来查看python版本。

image-20240910144626194

可知,在base这个虚拟环境下,我的python版本是3.11.7,所以,接下来我要创建一个新的虚拟环境,并使得在这个虚拟环境下,python的版本是3.6,以便于我后续能够顺利安装3.4.1.15版本的opencv。

2.创建虚拟环境

注:在上文中已经说过了如何修改虚拟环境的默认安装路径,此处默认已修改过。如果没有修改,则默认安装在C盘中。

打开Anaconda Prompt,进入后,默认的是你的base环境。

我们创建一个新的虚拟环境,用来使用opencv。

先构建一个虚拟环境,虚拟环境的名字就取名为opencv(你也可以自定义为任何名称),且创建的虚拟环境所使用的python版本为3.6。

创建命令行如下:

conda create -n opencv python=3.6

image-20240910145038799

3.查看虚拟环境

输入conda info -e可以查看你当前conda中的环境。

若创建成功,则刚刚创建的名称为opencv的虚拟环境就在其中。

image-20240910145242377

注:星号*表示的是当前打开的是哪个虚拟环境。

4.进入虚拟环境

输入conda activate 环境名可以进入新环境,如下。

image-20240910145358186

可见,第一行最左侧括号里的名称是base,第二行最左侧括号里的名称是opencv,这样,就从base进入到opencv这一虚拟环境当中了。

注意,可以使用conda deactivate退出当前虚拟环境,回到base环境中。

(2)安装

进入刚刚创建好的opencv虚拟环境,在其中执行安装命令。

安装opencv-python:

pip install opencv-python==3.4.1.15

安装opencv扩展包opencv-contrib-python:

pip install contrib-python==3.4.1.15

其他有用的包也可以先装一下,如:

pip install jupyter
pip install matplotlib

注意:装这些包,一定要使用国内的源,否则下载速度会很慢。(使用国内源的方法此处略)

注意:上述四行也可以合并成一行,如下:

pip install opencv-python==3.4.1.15 opencv-contrib-python==3.4.1.15 jupyter matplotlib

(3)检查一下是否安装成功

在刚才的虚拟环境下,进入ipython

输入import cv2,没有报错,说明可以导入此包,说明此包已安装好。也可以继续通过cv2.__version__看一下它的版本,就没什么问题了。

image-20240910150251329

注:可以输入exit();来退出当前的ipython。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Cortex-M3架构学习:存储器系统

存储系统功能 CM3 的存储器系统与从传统 ARM 架构的相比,进行如下改革: 它的存储器映射是预定义的,并且还规定好了哪个位置使用哪条总线。 CM3 的存储器系统支持所谓的“位带”(bit-band)操作。通过它,实…

同时安装多个nodejs版本可切换使用,或者用nvm管理、切换nodejs版本(两个详细方法)

目录 一.使用nvm的方法: 1.卸载nodejs 2.前往官网下载nvm 3.安装nvm 4.查看安装是否完成 5.配置路径和淘宝镜像 6.查看和安装各个版本的nodejs 7.nvm的常用命令 二.不使用nvm,安装多个版本: 1.安装不同版本的nodejs 2.解压到你想放…

【Python】从基础到进阶(二):了解Python语言基础以及数据类型转换、基础输入输出

🔥 个人主页:空白诗 文章目录 一、引言二、基本数据类型转换1. 隐式转换2. 显式转换 三、基本输入输出1. 输入(input)2. 输出(print)3. 案例:输入姓名、年龄、身高以及体重,计算BMI指…

猎板通信PCB动态:苹果16系列多款设备上线,PCB供应商的机遇与挑战!

在最新的苹果供应链动态中,苹果公司对于PCB供应商的选择标准非常严格,主要考虑因素包括技术能力、生产规模、质量控制、成本效益、供应链稳定性以及环境和社会责任等。随着苹果产品技术的不断进步,PCB供应商也需要具备相应的技术升级能力&…

基于vue框架的成都住房租赁系统82ml7(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:用户,房东,房屋类型,房源信息,租赁信息,合同信息,租金缴纳 开题报告内容 基于Vue框架的成都住房租赁系统开题报告 一、引言 随着城市化进程的加速和人口流动的日益频繁,成都作为西南地区的经济、文化中心,住房…

关于OceanBase 多模一体化的浅析

在当今多元化的业务生态中,各行各业对数据库系统的需求各有侧重。举例来说,金融风控领域对数据库的高效事务处理(TP)和分析处理(AP)能力有着严格要求;游戏行业则更加注重文档数据库的灵活性和性…

【笔记】408刷题笔记

文章目录 三对角三叉树求最小带权路径UDP报文首部和TCP报文首部IP报文首部TCP报文首部UDP报文首部 刷新和再生的区别地址译码 为了区分队空队满,可以使用三种处理方式 1)牺牲一个单元 队头指针在队尾指针的下一位置作为队满的标志 队满条件:(…

make、cmake、qmake的区别和联系

基本概念与用途 make: 定义:make是一个用于自动化构建项目的命令行工具。用途:它通过读取Makefile(或makefile)文件来执行编译、链接等操作,从而构建整个项目。Makefile中定义了项目中的文件依赖关系以及…

“CSS 定位”如何工作?(补充)——WEB开发系列34

CSS定位是一个非常重要的布局工具,它允许我们精确地控制元素的位置,从而创建复杂的布局效果。定位允许你从正常的文档流布局中取出元素,并使它们具有不同的行为,例如放在另一个元素的上面,或者始终保持在浏览器视窗内的…

数据库设计中的需求分析

在数据库设计中,需求分析 是至关重要的一步。它不仅是设计过程的起点,也是后续步骤的基础。如果需求分析出现问题,那么后续所有设计阶段的结果都会受到影响,最终可能导致整个设计返工,耗费大量时间和资源。因此&#x…

KubeBlocks 如何降低管理多种数据库的学习门槛

什么是 KubeBlocks KubeBlocks 是一个开源的 Kubernetes 数据库 operator,能够帮助用户在 Kubernetes 上运行和管理多种类型的数据库。据我们所知,大多数数据库 operator 通常只能管理某种特定类型的数据库,例如: CloudNativePG…

基于SSM开发的校园心理咨询平台系统的设计与实现---附源码80915

目 录 1 绪论 1.1 研究背景 1.2开发现状 1.3论文结构与章节安排 2 校园心理咨询平台系统系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 法律可行性分析 2.2 系统功能分析 2.2.1 功能性分析 2.2.2 非功能性分析 2.3 系统用例分析 2.4…

安卓13删除app 链接库警告弹窗Detected problems with app native

总纲 android13 rom 开发总纲说明 文章目录 1.前言2.问题分析3.代码修改彩蛋1.前言 有些客户的APP,打开首次会弹窗提示窗口, Detected problems with app native libraries (please consult log for detail):,需要删除这个窗口,避免挡住用户APP。而且这个提示有些app是以t…

MapBox Android版开发 4 国际化功能v11

MapBox Android版开发 4 国际化功能v11 前言遇到的问题国际化功能原文给出的方案(V10版)migrate-to-v11适用于V11版的代码 示例MapStyle类运行效果图 前言 在前文MapBox地图样式v11中,使用Style的localizeLabels方法本地化地图语言。但Mapbox Standard样式和Mapbox…

红队C2工具Sliver探究与免杀

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330&scene21#wechat_redirect 《网安面试指南》…

纯国产芯片LT8911EXB,MIPI转EDP信号转换器,LT8911B升级版本

以下为视频转换芯片LT8911EXB的简介 LT8911EXB MIPI DSI/CSI到eDP转换器具有单端口MIPI接收器,1时钟通道和4每个数据通道的最大运行速度为2.0Gbps;一个最大输入带宽为8.0Gbps。转换器解码输入MIPIDSI 16/18/24/30/36位RGB数据包,并将格式化的视频数据流转…

异步文件操作的革命:探索aiofiles的魔力

文章目录 异步文件操作的革命:探索aiofiles的魔力1. 背景介绍2. aiofiles是什么?3. 如何安装aiofiles?4. 简单的库函数使用方法5. 场景应用6. 常见Bug及解决方案7. 总结 异步文件操作的革命:探索aiofiles的魔力 1. 背景介绍 在现…

【Java-反射】

什么是反射? JAVA反射机制是在运行状态中,创建任意一个类,能获取这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言…

RHEL 7 安装配置( Linux 网络操作系统 02)

一、虚拟机安装 我们的每台电脑都已经安装了VMware 虚拟机,其安装相当简单,在此不再赘述。可以参考如下链接: VMWare安装傻瓜式教程 (大家可以关注老师的博客,也建议大家写博客。) 二、红帽 rhel 7 安装 找…

IEC103设备数据 转 IEC61850项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 准备工作 2 4 配置VFBOX网关采集103设备数是 2 5 用IEC61850协议转发数据 4 6 网关使用多个逻辑设备和逻辑节点的方法 6 7 IEC103协议说明 8 8 案例总结 9 1 案例说明 设置网关采集IEC103设备数据把采集的数据转成IEC61850协议转发…