pytesseract的使用 | python识别验证码

2023-05-16

目录

    • 1. 安装tesseract
    • 2.安装pytesseract
    • 3. 修改包中部分代码
    • 4.代码网站测试

1. 安装tesseract

详见:
https://blog.csdn.net/lijiamingccc/article/details/119459775

2.安装pytesseract

在pycharm终端下,安装 pytesseract,如图所示

pip install pytesseract

在这里插入图片描述

3. 修改包中部分代码

在这里插入图片描述
文件中的这个路径,改成第一步你安装的位置,建议找到之后直接复制
前面加个r,是为了说明这个路径是一段字符串,防止转义

4.代码网站测试

代码:

网址可以自己随便找一个

    res = requests.get(url="x'x'x'x'x")

    with open('image.jpg', 'wb') as fw:
        fw.write(res.content)

    img = cv2.imread("image.jpg")

    # 四周置白色  图片降噪
    def around_white(img):
        w, h, s = img.shape
        for _w in range(w):
            for _h in range(h):
                if (_w <= 5) or (_h <= 5) or (_w >= w-5) or (_h >= h-5):
                    img.itemset((_w, _h, 0), 255)
                    img.itemset((_w, _h, 1), 255)
                    img.itemset((_w, _h, 2), 255)
        return img
	
    img2 = around_white(img)
    ret, img2 = cv2.threshold(img2, 150, 255, cv2.THRESH_BINARY)
	
	 # 前面需要添加一些图像降噪的操作
    code = pytesseract.image_to_string(img2,config="--psm 6 digits")
    code = re.findall('\d+',code)[0]
    print("识别的验证码为:{}".format(code))

效果:
在这里插入图片描述
识别效果不一定保证每次都正确,但是基本上5次之内都是可以成功的,这里可以写一个循环,直到成功为止。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

pytesseract的使用 | python识别验证码 的相关文章

  • Python 和 Numpy 是 nan 和 set

    我在使用 Python 的 Numpy set 和 NaN 非数字 时遇到了不可预测的行为 gt gt gt set np float64 nan np float64 nan set nan nan gt gt gt set np flo
  • 如何指定聚类的距离函数?

    我想对给定距离的点进行聚类 奇怪的是 似乎 scipy 和 sklearn 聚类方法都不允许指定距离函数 例如 在sklearn cluster AgglomerativeClustering 我唯一可以做的就是输入一个亲和力矩阵 这将非常
  • 2d 图像点和 3d 网格之间的交点

    Given 网格 源相机 我有内在和外在参数 图像坐标 2d Output 3D 点 是从相机中心发出的光线穿过图像平面上的 2d 点与网格的交点 我试图找到网格上的 3d 点 This is the process From Multip
  • Flask中使用的路由装饰器是如何工作的

    我熟悉 Python 装饰器的基础知识 但是我不明白这个用于 Flask 路由的特定装饰器是如何工作的 以下是 Flask 网站上的代码片段 from flask import Flask escape request app Flask
  • LibreOffice 并行将 .docx 转换为 .pdf 效果不佳

    我有很多 docx 文件需要转换为 pdf 将它们一一转换需要很长时间 所以我编写了一个 python 脚本来并行转换它们 from subprocess import Popen import time import os os chdi
  • ValueError:请使用“Layer”实例初始化“TimeDistributed”层

    我正在尝试构建一个可以在音频和视频样本上进行训练的模型 但出现此错误ValueError Please initialize TimeDistributed layer with a Layer instance You passed Te
  • 将 yerr/xerr 绘制为阴影区域而不是误差线

    在 matplotlib 中 如何将误差绘制为阴影区域而不是误差条 例如 而不是 忽略示例图中各点之间的平滑插值 这需要进行一些手动插值 或者只是获得更高分辨率的数据 您可以使用pyplot fill between https matpl
  • 如何为未捕获的异常处理程序编写单元测试

    我有一个函数可以捕获uncaught例外情况 如下 有没有办法编写一个单元测试来执行uncaught exception handler 功能正常 但测试正常退出 import logging def config logger logge
  • Python re无限执行

    我正在尝试执行这段代码 import re pattern r w w s re compiled re compile pattern results re compiled search COPRO HORIZON 2000 HOR p
  • 指示电子邮件的类型

    我有以下自动化程序 它将电子邮件发送给我自己 并添加了特定的链接 import win32com client as win32 import easygui import tkinter as to from tkinter import
  • 如何使用 Homebrew 在 Mac 上安装 Python 2 和 3?

    我需要能够在 Python 2 和 3 之间来回切换 我如何使用 Homebrew 来做到这一点 因为我不想弄乱路径并陷入麻烦 现在我已经通过 Homebrew 安装了 2 7 我会用pyenv https github com yyuu
  • 如何在 Python 中的函数入口、内部和退出处进行日志记录

    我希望能够使用 Python 日志记录工具在我的代码中进行简单且一致的日志记录 我能够执行以下操作 我希望所有现有 未来的模块和函数都有 输入 和 完成 日志消息 我不想添加相同的代码片段来定义日志记录参数 如下所示don t want t
  • 如何在 Django Rest 框架中编写“删除”操作的测试

    我正在为 Django Rest Framework API 编写测试 我一直在测试 删除 我对 创建 的测试工作正常 这是我的测试代码 import json from django urls import reverse from re
  • App Engine 实体到字典

    将 google app engine 实体 在 python 中 复制到字典对象的好方法是什么 我正在使用 db Expando 对象 所有属性均为扩展属性 Thanks 有一个名为foo尝试 foo dict
  • 检索 geodjango 多边形对象的边界框

    如何在 geodjango 中获取 MultiPolygon 对象的边界框 在 API 中找不到任何内容http geodjango org docs geos html http geodjango org docs geos html
  • 基于值而不是类型的单次调度

    我在 Django 上构建 SPA 并且有一个庞大的功能 其中包含许多功能if用于检查我的对象字段的状态名称的语句 像这样 if self state new do some logic if self state archive do s
  • 确定分割形状几何体的“左”侧和“右”侧

    我的问题是 我怎样才能确定哪一个Aside and Bside的侧面已经分割的旋转矩形几何体 http nbviewer jupyter org urls dl dropbox com s ll3mchnx0jwzjnf determine
  • 仅允许正小数

    在我的 Django 模型中 我创建了一个如下所示的小数字段 price models DecimalField u Price decimal places 2 max digits 12 显然 价格为负或零是没有意义的 有没有办法将小数
  • Jupyter Notebook:带有小部件的交互式绘图

    我正在尝试生成一个依赖于小部件的交互式绘图 我遇到的问题是 当我使用滑块更改参数时 会在前一个绘图之后完成一个新绘图 而我预计只有一个绘图会根据参数发生变化 Example from ipywidgets import interact i
  • 描述符“join”需要“unicode”对象,但收到“str”

    代码改编自here http wiki geany org howtos convert camelcase from foo bar to Foo Bar def lower case underscore to camel case s

随机推荐

  • STM32学习(3)-GPIO相关寄存器,引脚复用和重映射,点亮LED小灯(库函数、寄存器)

    参考STM32中文参考手册 一 GPIO相关配置寄存器 每组 如GPIOA GPIOB GPIO端口的寄存器包括 1 1 端口配置寄存器 由于STM32是32位的寄存器 xff0c 一个寄存器只有32位 xff0c 但是一个I O口需要4个
  • Template parse errors: Can't bind to 'ngStyle' since it isn't a known property of 'div'. ("

    1 背景 开发个公共组件 xff0c 在组件中使用指令一直报错 template 96 lt div class 61 34 content text bgp 34 gt lt div class 61 34 content text 34
  • linux mount 远程服务器共享目录

    NFS是文件系统 在网络存储方面我们应该有所了解 那么针对NFS服务器的安装和设置我们来详细介绍一下 首先让我们看一下NFS服务器的安装步骤 一 NFS服务器的安装 检查linux系统中是否安装了nfs utils和portmap两个软件包
  • 【每日一题】969. 煎饼排序

    969 煎饼排序 题目描述解决方案 xff1a 类选择排序法代码 xff1a Python 题目来源 xff1a Leetcode 原文链接 xff1a https mp weixin qq com s jboDC0R oYAy ssCXp
  • 让Num Lock默认开启

    让Num Lock默认开启 2008年11月18日 星期二 10 46 A M 1 对于2000或者XP操作系统 xff0c 登陆前NUM LOCK默认为关闭 xff0c 此为正常现象 xff0c 若用户需要此功能 xff0c 则需更改注册
  • Windows下使用Sublime Text配置C++编译环境

    1 打开Sublime xff0c 选择Tools gt Build System gt New Build System 2 将以下代码复制粘贴到新文件中去 34 span class hljs attribute path span 3
  • 一步步将ffmpeg封装golang/cgo库

    欢迎访问博客原文 xff1a https lightfish cn 2018 12 24 ffmpeg cgo 前言 继上一篇 ffmpeg音视频C编程入门 使用高性能的C语言进行音视频的处理 xff0c 比较执行效率比较高 xff0c 但
  • 十六.Spark SQL之读取复杂的json数据

    第一步 准备json数据 test json 34 name 34 34 liguohui 34 34 nums 34 1 2 3 4 5 34 name 34 34 zhangsan 34 34 nums 34 6 7 8 9 10 te
  • “当前不会命中断点 还没有为该文档加载任何符号”问题的解决

    今天在实验室的电脑上调试程序出现了 当前不会命中断点 还没有为该文档加载任何符号 断点失效的情况 xff0c 是调用的静态库中断点失效 xff0c 但程序在我自己电脑上是可以正常打断点的 按照网上的方法试过没有成果 xff0c 但是启发了我
  • 【经验分享】设置电脑定时开关机

    文章目录 1 定时开机设置 xff08 BIOS固件设置 xff09 2 定时关机设置 放长假回家 xff0c 不想拷贝资料 xff0c 因此打算用todesk远程连接办公 但是工位电脑一直开着 xff0c 还不能睡眠 xff0c 担心会过
  • AirSim多台无人机第一视角键盘控制进阶版

    AirSim多台无人机第一视角键盘控制进阶版 目录 AirSim多台无人机第一视角键盘控制进阶版本文实现的效果前言一 环境依赖二 图像读取与显示1 使用的API2 实时显示的一种方法 三 键盘控制改进总结 本文实现的效果 前言 本篇文章实现
  • 百度APP iOS端内存优化实践-内存管控方案

    01 背景 随着业务的发展 xff0c 百度APP有很多大内存业务场景如直播 短视频 小程序 百度识图等 xff0c 通过线上页面统计数据得知超过150M页面有40个 xff0c 耗内存最多的页面有400M 单个页面不会有内存或者稳定性问题
  • 百度APP iOS端内存优化-原理篇

    一 Mach虚拟内存 1 1 Mach内存简介 iOS系统架构可分为内核驱动层 xff08 Kernel and Device Drivers Layer xff09 核心操作系统层 xff08 Core OS xff09 核心服务层 xf
  • 【图文并茂】手把手教你重装Win10系统

    当遇见电脑出现问题 xff0c 想要重装系统的小伙伴们 xff0c 小编在这里手把手教你重装Win10系统 xff0c 推荐系统之家装机大师 xff0c 他是一款非常好用的一键重装工具 xff0c 有不少小伙伴都在使用 xff0c 但对于刚
  • 【每日一题】1994.好子集的数目

    1994 好子集的数目 题目描述解决方案 xff1a 状态压缩 43 动态规划代码 xff1a Python 题目来源 xff1a LeetCode 原文链接 xff1a https mp weixin qq com s myI7 ZwJM
  • Win11打开移动热点后电脑无法上网怎么办?

    Win11打开移动热点后电脑无法上网怎么办 xff1f 有用户将自己的电脑开启移动热点来使用的时候 xff0c 发现自己的电脑出现了无法上网的情况 那么为什么开启热点之后 xff0c 就会无法进行上网呢 xff1f 来看看以下的解决方法分享
  • abaqus导出全部节点应力值

    一 查询应力点 1 2 3 二 导出应力点 1 点击报告 xff08 E xff09 场输出 xff08 F xff09 2 选择想要输出的参数 xff0c 应用 xff08 提前设置好文件夹与文件名 xff09
  • Docker容器之Dockerfile构建镜像

    目录 一 Dcokerfile概念 1 dockerfile的原理 二 Docker镜像的创建 1 基于已有镜像创建 2 基于本地模板创建 3 基于dockerfile创建 三 镜像分层的原理 1 Docker镜像分层 xff08 基于AU
  • 树莓派——开机指南

    1 准备 硬件准备 树莓派一块 SD卡 xff08 小卡 xff09 读卡器 树莓派电源或安卓手机电源 xff08 功率10w以上 xff0c 不然会导致电压不足会影响其性能 xff09 一台电脑 xff08 可以没有显示屏和鼠标键盘 xf
  • pytesseract的使用 | python识别验证码

    目录 1 安装tesseract2 安装pytesseract3 修改包中部分代码4 代码网站测试 1 安装tesseract 详见 xff1a https blog csdn net lijiamingccc article detail