问题描述:

代码如下

net = cv2.dnn.readNetFromDarknet(configPath,weightsPath)
#获取YOLO每一层的名称
#getLayerNames():获取网络所有层的名称。
ln = net.getLayerNames()
# 获取输出层的名称: [yolo-82,yolo-94,yolo-106]
# getUnconnectedOutLayers():获取输出层的索引
ln = [ln[i[0] - 1] for i in net.getUnconnectedOutLayers()]

代码编写完毕之后 发现 i[0]的数值无法正确获取,仔细寻找之后发现cv2.dnn.readNetFromDarknet()要求在python2环境下运行

在python2.7的安装和cv2导入的过程中也遇到了一些问题,故做总结。

步骤:

1.用conda建一个python2虚拟环境

1. 显示可安装的python版本
conda search -f python
2. 安装虚拟环境,名称为py2
conda create -n py2 python=2.7
3. 激活py2
利用conda info –envs 或者conda env list 查询的虚拟环境,输入activate py2激活py2环境#删除虚拟环境yourenvname
conda remove -n yourenvname -all移除虚拟环境

2.修改项目的python版本,从python3.8切换到python2.7【注意】

打开File-setting,为该项目设置Python解释器,defaultSetting为PyCharm设置默认解释器,两者的设置过程一样的,建议都设置一下

在setting页面中选择,Project 项目名,Project Interpreter,在如下图右上角位置点击Add添加Python解释器

打开添加页面如下,在右边选项栏中选择第三项System Interpreter,点击右边选择位置按钮

找到Python解释器的python.exe文件(Python2和Python3都有这个文件)

添加成功后显示了Python2解释器的选项,同理设置Python3解释器,切换时就在setting中此处进行切换

3.python2.7装cv2的解决方案

网上说的pip install opencv-python和换镜像源都不好使,因为新版的opencv不再支持python2.7 因此安装的时候需要指定版本

pip install opencv-python==4.2.0.32

安装成功

4.运行python遇到SyntaxError: Non-ASCII character '\xe8' 报错

问题原因:因为没有指定文件的编码,默认情况下不能用中文。【不清楚为什么在python3的环境下无问题】

解决方案:在代码首行加入以下内容

# encoding:utf-8

cv2.dnn.readNetFromDarknet()在python3上遇到的问题相关推荐

  1. 关于cv2.dnn.readNetFromONNX(path)就报ERROR during processing node with 3 inputs and 1 outputs的解决过程【独家发布】

    问题是什么: 如图,对vgg16使用opencv的dnn模块进行推理时出现错误. 错误的详细日志为:[ERROR:0@0.804] global D:\a\opencv-python\opencv-p ...

  2. cv2.dnn读取模型报错

    cv2.dnn读取模型报错 D:\ProgramData\Miniconda3\python.exe D:/project/detect/face/yolov5-face-landmarks-open ...

  3. opencv python3树莓派_树莓派4B日志七:Python3上的OpenCV安装

    1.准备工作 硬件:装好系统的树莓派. 软件:Putty,VNC Viewer.(也可以直接在屏幕上操作) 2.前言 前面几期介绍了树莓派的一些基本配置,今天让我们来打开新世界的大门.安装OpenCV ...

  4. python3 上传文件到目标机器_再见Python 2.7,你好Python 3.7

    安装python3 直接下载安装 1.下载地址如下:python 3.7 2.点击下载好的pkg文件进行安装 3.安装完成之后,python 3.70的默认安装路径如下: /Library/Frame ...

  5. python3 上传文件到目标机器_Python3 +服务器搭建私人云盘,再也不怕限速了

    先来看看效果 电脑访问 手机访问 Windows版本搭建 (1).首先你需要在你的电脑上或者服务器上安装Python3.X. (2).然后通过如下指令来安装updog库,网上有很多关于updog的介绍 ...

  6. python3 上传文件到目标机器_通过python模块实现服务器和本地机器之间快速拷贝文件...

    在实际的开发过程中,很多时候我们都不直接在本机上开发,一般都在远程服务器上开发并运行程序. 比如三胖在实际开发中就会使用到很多台服务器:我有一台笔记本电脑,通过 ssh 连接着很多台服务器,我需要经常 ...

  7. tensorflow python2迁移python3_tensorflow在python2和python3上的安装教程

    使用本地的pip对tensorflow进行安装 如果在你的电脑上既没有python2,也没有安装python3,那么请立刻安装: Tensorflow支持在windows下的python2和pytho ...

  8. python3怎么安装opencv_Python:即使安装了opencv,也无法导入cv2(如何为python3安装opencv3)...

    我已经安装了anaconda(版本:conda 4.2.9,python3),并试图在出现以下错误时执行import cv2: ImportError: No module named 'cv2' 通 ...

  9. python3上传文件_Python3学习笔记(十八):文件上传和下载

    importrequests upload_url= 'http://upload.renren.com/upload.fcgi?pagetype=addpublishersingle&hos ...

最新文章

  1. a-awk外部变量传入,内部变量传出,同时过滤空格及其他字符
  2. vue-cli  自动切换环境
  3. Oracle的表空间和数据文件
  4. PS教程第二十一课:有了选区就有了界限
  5. TZOJ--1518: 星星点点 (二进制模拟)
  6. MFC实现 MSN QQ 窗口抖动
  7. python数据存储系列教程——python中mysql数据库操作:连接、增删查改、指令执行
  8. 2.概率论-概率论公理
  9. iptv错误代码2003什么意思_IPTV部分错误代码和原因解释
  10. JS实现FlyBird
  11. 技术讲座:蔡学镛之架构师相关培训
  12. Linux实操篇-组管理和权限管理
  13. Ceph RBD 使用详细说明
  14. 图像特征提取现成的方法
  15. Elasticsearch提高查询性能的方法
  16. 30天自制操作系统——第八天鼠标控制与32位模式切换
  17. 关于3dmax模型导入到u3d中时,坐标会旋转的问题
  18. DEBUG 代码调试
  19. 中小型软件开发项目管理
  20. 步步高应届生解约事件

热门文章

  1. 外存中的对换区和文件区
  2. sendBroadcast与sendStickyBroadcast的区别
  3. mysql新增列并同时增加数据_图解MySQL | [原理解析] MySQL 为表添加列 是怎么quot;立刻quot;完成的...
  4. 使用 Django + Wusgi + Nginx 部署 Django
  5. caffe common 程序分析 类中定义类
  6. Linux进程全解11——进程间通信(IPC)概述
  7. Linux进程全解3——进程概念、进程ID、多进程调度原理
  8. Win7系统中用anaconda配置tensorflow运行环境
  9. leetcode - Linked List Cycle
  10. C++ 0x 使用可变参数模板类 实现 C# 的委托机制