本周在学习崔庆才的《Python 网络爬虫开发实践》 的验证码识别,本计划这周整理一份公众号文章,不料在第一节安装tesserocr 时就遇到了麻烦,查了各种资料就是装不上。在查找过程中,又遇到一种处理验证码图片的包 opencv ,又是安装失败。接二连三的挫败让自己很是郁闷,中间又遇到其他的问题,会在公众号(foreverxin)中介绍。直到周四晚上终于通过anaconda 把这两个包都成功安装了,但还是有点迷糊,于是各种卸载重装,现整理一下笔记。

首先简单介绍一下anaconda、opencv、tesserocr、tesseract。

anaconda的主要用途:有java开发经验的都知道,不同的项目可能需要不同的JDK版本,不同的python程序对应的python版本可能也不同,anaconda 就是用来维护不同版本的python解释器(环境)和包的。然后在开发工具(pycharm)中给每个项目设置相应python环境即可。

opencv 主要实现了图像处理和计算机视觉方面的很多通用算法;tesseract 是由 HP 实验室开发由 Google 维护的开源 OCR(Optical Character Recognition , 光学字符识别)引擎,可以不断的训练库,使图像转换文本的能力不断增强;还可以以它为模板,开发出符合自身需求的OCR引擎。tesserocr 是 python 对 tesseract 的封装。所以安装 tesserocr 需要先下载安装tesseract 。

以下是安装步骤及遇到的问题:

一)、anaconda 安装及使用

1、下载安装anaconda ,下载地址(https://www.anaconda.com/download/),选择版本:

2、一路next:

3、设置安装路径

4、是否安装vscode,Skip 跳过即可:

5、安装成功后,会在计算机开始栏中多出如下内容,其中,Anaconda Navigator 和 Anaconda Prompt用的比较多:

6、打开Anaconda Navigator ,选择python版本,创建Python 环境:

二)、通过anaconda 安装包opencv

1、选择需要安装的包,比如opencv,下载过程中会将其依赖的包一并下载安装:

2、通过 anaconda 安装opencv后,在anaconda 和 Anaconda Prompt 命令窗口(依次执行命令:activate python3(激活环境)--> conda list(查看已安装的包)),都显示opencv 已经安装成功,但进入python编辑环境,执行import cv2 ,报错。推测opencv 与 python 的版本不一致:

3、执行命令 conda uninstall opencv 将opencv卸载,换种方式安装。下载对应版本的 .whl 文件,地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/   ,盗图一张:https://blog.csdn.net/iracer/article/details/80498732

4、将 .whl 文件放到环境 python3 的site-packages 下,路径见图,在 Anaconda Prompt 窗口,执行 pip install opencv-xxx.whl 文件:

5、再测试,打印出opencv 的版本,安装成功。

6、终于安装成功,欢天喜地去 pycharm 开发。首先设置使用新创建的环境:File --> Settings --> Project Interpreter 选择环境 Python3 下的python.exe:

7、新建文件,内容如下:

import cv2
              img = cv2.imread("code.jpg")
              imgGrey = cv2.imread("code.jpg", 0)
              cv2.imshow("img", img)
              cv2.imshow("imgGrey", imgGrey)
              cv2.waitKey()
              cv2.imwrite("Copy.jpg", imgGrey)

执行……,我那个擦,报错:

8、经查询,是numpy版本不对,哎,那就升级 numpy 版本,进入Anaconda Prompt 窗口,执行 pip install -U numpy:

再测试,弹出灰度前后的图片,嗯嗯 终于成功。

三)、通过anaconda 安装包tesserocr

1、首先安装tesseract,下载地址:https://sourceforge.net/projects/tesseract-ocr/,默认一步步安装即可。

2、通过anaconda navigator 搜索 tesserocr 没有找到,所以还是通过opencv 方式下载安装tesserocr-2.4.0-cp37-cp37m-win_amd64.whl(选择适合的版本),此处不再赘述。

3、通过tesserocr 处理图片时,用到PIL,所以通过 anaconda navigator 搜索安装 pillow。

4、安装成功后,在pycharm 中编辑内容:

import tesserocr
              from PIL import Image
              image = Image.open('Copy.jpg')//该py文件路径下的Copy.jpg
              result = tesserocr.image_to_text(image)
              print(result)

哎呀,我那个擦,又报错:

又是版本不正确,所以通过命令方式下载安装:

在pycharm 中看到 pillow 版本从5.2 升级到了5.4,运行程序成功。

5、至此,可以成功解析部分验证码,但是正确率有待提高,比如:5 与 S,8 与 B,0 与 Q O等。后续整理……

Python 之 Anaconda相关推荐

  1. python和anaconda的区别_anaconda和python区别

    详细内容 python python自身缺少numpy.matplotlib.scipy.scikit-learn....等一系列包,需要我们安装pip来导入这些包才能进行相应运算(python3.5 ...

  2. Jupyter notebook 指定 Python 解释器 anaconda

    Jupyter notebook 指定 Python 解释器 anaconda 打开jupyter notebook新建一个文件,发现只有一个默认的解释器,我们在指定的虚拟环境中安装了我们想要的包后是 ...

  3. python入门必备指南-致Python初学者 Anaconda入门使用指南完整版

    打算学习 Python 来做数据分析的你,是不是在开始时就遇到各种麻烦呢? 到底该装 Python2 呢还是 Python3 ? 为什么安装 Python 时总是出错? 怎么安装工具包呢? 为什么提示 ...

  4. python编程入门指南 代码库在哪下-致Python初学者 Anaconda入门使用指南完整版

    打算学习 Python 来做数据分析的你,是不是在开始时就遇到各种麻烦呢? 到底该装 Python2 呢还是 Python3 ? 为什么安装 Python 时总是出错? 怎么安装工具包呢? 为什么提示 ...

  5. python或anaconda下安装opencv提示Error:No matching distribution found for opencv

    python或anaconda下安装opencv提示Error:No matching distribution found for opencv 错误提示: ERROR: Could not fin ...

  6. 完美解决Python与anaconda之间的冲突问题,你值得拥有

    转载: https://blog.csdn.net/sinat_41898105/article/details/80660332 anaconda指的是一个开源的Python发行版本,其包含了con ...

  7. 关于Python、Anaconda、Jupyter

    首先说下Python和Anaconda的关系吧,简单来说,Anaconda可以来管理python.Anaconda是包管理器和环境管理器,Jupyter可以将数据分析的代码.图像和文档全部组合到一个w ...

  8. python人门指南小说-致Python初学者 Anaconda入门使用指南完整版

    打算学习 Python 来做数据分析的你,是不是在开始时就遇到各种麻烦呢? 到底该装 Python2 呢还是 Python3 ? 为什么安装 Python 时总是出错? 怎么安装工具包呢? 为什么提示 ...

  9. [Python+Anaconda] 查看Python、Anaconda下python、CUDA、函数库的版本

    查看Python.Anaconda下Python.CUDA.函数库的版本 前言 第三方库(比如Pytorch)要依赖Python版本,CUDA版本,对于不同的版本组合,会有不同的安装命令. 这就要求我 ...

  10. Python与Anaconda、Jupyter Notebook与Pycharm

    Python与Anaconda Python自身缺少numpy.matplotlib.scipy.scikit-learn-等包,所以在使用这些包之前,需要我们在cmd终端输入:pip install ...

最新文章

  1. arcgis9.2系列下载
  2. matlab怎么设置x轴距,MATLAB及其在电气工程中的应用苏小林第四章.ppt
  3. 拆解 Linux 网络包发送过程
  4. mysql 5.7 数据库备份_mysql 5.7 数据库备份
  5. 分库分表学习总结(2)——数据库中间件MyCat学习总结之MyCat-Web原理介绍
  6. SICP习题解答2.22
  7. [黑金原创教程][连载][iBoard 电子学堂][第八卷 设计任意波发生器]第三篇 直接数字合成(DDS)原理...
  8. HTML5中的一些新特性
  9. php元素排序算法,php 4大基础排序算法
  10. 基于稀疏表示的图像超分辨
  11. 利用PLC1200和elmo驱动器对maxon RE40电机的两种控制方式(PWM(PTO)或者模拟量控制)
  12. 通俗的解释云计算 公有云 私有云 混合云
  13. 图表Chart.js入门教程(附代码)包括线性、柱状、圆形、饼形图
  14. OpenResty实现限流的几种方式
  15. c#使用WPD读取便携式设备信息一(枚举设备、连接设备及读取设备信息)
  16. 附合导线计算软件_安装造价中电气安装算量超复杂?让这80个自动算量表格软件来帮你...
  17. 从MVP(Product)到MVP(Prototype)
  18. 文献阅读-ICRA2020-从单眼内窥镜图像中对手术机器人器械的柄姿势估计
  19. php博客系统答辩问题,基于PHP个人博客的设计与实现毕业设计答辩 PPT课件
  20. 【智慧农场V2.1.1】功能模块+亲测版+农场租地种植+畜牧领养+智慧农场商城+农场直播小程序+认养农业

热门文章

  1. 地理信息系统-什么是GIS
  2. 自定义View之网易云音乐听歌识曲水波纹动画
  3. 区块链数据服务 - BDS
  4. bnc转vga转换器
  5. 史上最全软件测试工程师常见的面试题总结(四)【多测师_王sir】
  6. 【Codeforces Round #548(Div. 2)】Edgy Trees(数学+bfs求连通块)
  7. Java job interview:网页设计HTML+CSS前端开发与PS前台美化案例分析
  8. 微信开发者工具-真机调试
  9. JeeSite(2):导入数据,进入系统
  10. Ubuntu Linux操作系统与实验教程(第二版)答案