精华内容
下载资源
问答
  • 自学Python3第5天,今天突发奇想,想用Python识别图片里的文字。没想到Python实现图片文字识别这么简单,只需要一行代码就能搞定#作者微信:2501902696 from PIL import Image import pytesseract #上面都是导包,只...

    自学Python3第5天,今天突发奇想,想用Python识别图片里的文字。没想到Python实现图片文字识别这么简单,只需要一行代码就能搞定

    #作者微信:2501902696
    from PIL import Image
    import pytesseract
    #上面都是导包,只需要下面这一行就能实现图片文字识别
    text=pytesseract.image_to_string(Image.open('denggao.jpeg'),lang='chi_sim')
    print(text)
    

    我们以识别诗词为例
    下面是我们要识别的图片

    在这里插入图片描述
    ###先看下效果图
    在这里插入图片描述
    我们运行代码后识别的结果,有几个字没有正确识别,但是大多数字都能识别出来。

    风急天高猿啸哀 渚芸胄芳少白鸟飞凤
    无边落木萧萧下, 不尽长量工盲衮宕衮来
    万里悲秋常1乍窨, 百年多病独登氤
    艰难苦恨擎霜量 漂倒新停澍酉帆
    

    ##一行代码就能识别图片,我们背后要做些准备工作的

    • 这里我们需要用到两个库:pytesseract和PIL
    • 同时我们还需要安装识别引擎tesseract-ocr

    ###下面就来讲讲这几个库的安装,因为只有这几个库安装好以后Python才能实现一行代码实现图片文字识别

    #一,pytesseract和PIL的安装
    安装这两个包可以借助pip

    • 1,命令行安装
      pip install PIL
      pip install pytesseract
    • 2,如果你用的pycharm编辑器,就可以直接借助pycharm实现快速安装。
      在pycharm的Settings设置页按照下面步骤操作
      在这里插入图片描述
      这样就能成功安装pytesseract,安装PIL只需要在上面第三步里搜索PIL并点击安装即可
      在这里插入图片描述

    这时我们安转好了库,运行下面代码

    from PIL import Image
    import pytesseract
    text=pytesseract.image_to_string(Image.open('denggao.jpeg'),lang='chi_sim')
    print(text)
    

    会报下面错误,错误原因是:没有安装识别引擎tesseract-ocr

    在这里插入图片描述
    ##二,安装识别引擎tesseract-ocr

    解压安装tesseract-ocr后做如下操作,就可以支持中文识别了。因为tesseract-ocr默认不支持中文识别。
    在这里插入图片描述

    • 2,安装完成tesseract-ocr后,我们还需要做一下配置
      在C:\Users\huxiu\AppData\Local\Programs\Python\Python35\Lib\site-packages\pytesseract找到pytesseract.py打开后做如下操作
    # CHANGE THIS IF TESSERACT IS NOT IN YOUR PATH, OR IS NAMED DIFFERENTLY
    #tesseract_cmd = 'tesseract'
    tesseract_cmd = 'C:/Program Files (x86)/Tesseract-OCR/tesseract.exe'
    

    也可以通过pycharm快速打开pytesseract.py

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    至此我们所有的配置就完成了,运行下面代码就可以把杜甫的登高这首图片诗解析成文字了

    在这里插入图片描述

    视频讲解:https://edu.csdn.net/course/detail/25009

    往期回顾
    python入门001~python开发工具 pycharm的安装与破解(mac和window都有讲)
    python入门002~创建属于自己的第一个python项目
    python入门010~python3操作数据库 借助pycharm快速连接并操作mysql数据库
    python入门011~python3爬虫 爬取图片,爬取新闻网站文章并保存到数据库
    python入门020~爬取前程无忧51job的职位信息并存入mysql数据库

    展开全文
  • python图片批量裁剪

    万次阅读 2017-01-03 16:22:56
    测试中对图片有的地方对大小有要求,有的需要裁剪边缘,花了一点时间做了个图片的批量裁剪,同时也学习了python对文件的简单操作#coding=utf-8 # # 测试需要,裁剪图片,使用之前学过的技术 # 做一个裁剪的小案例...

    测试中对图片有的地方对大小有要求,有的需要裁剪边缘,花了一点时间做了个图片的批量裁剪,同时也学习了python对文件的简单操作

    #coding=utf-8
    #
    # 测试需要,裁剪图片,使用之前学过的技术
    # 做一个裁剪的小案例
    
    import os
    #读取path路径下的 jpg文件
    def getAllImages(path):
        #f.endswith()  限制文件类型
        #f.endswith('.jpg')|f.endswith('.png')  改成这句可以读取jpg/png格式的文件
        #注意 返回的是绝对路径
       return [os.path.join(path,f) for f in os.listdir(path) if f.endswith('.jpg')]
    
    import pylab as plb
    import PIL.Image as Image
    #循环读图
    for path in getAllImages(r'D:\\test'):
        #读图
        img = Image.open(path)
        #显示
        plb.imshow(img)
        #设置裁剪点(4个)
        corner = plb.ginput(4)
        #顺时针取点求解
        left = (corner[0][0] + corner[3][0])/2
        top = (corner[1][1] + corner[0][1])/2
        reight = (corner[1][0] + corner[2][0])/2
        under = (corner[3][1] + corner[2][1])/2
        #print left,top,reight,under
        #box = [left,top,reight,under]
        #box中的数必须是 int 否则会报错
        box = [int(left),int(top),int(reight),int(under)]
        #裁剪
        img2 = img.crop(box)
        #显示裁剪后的效果
        #plb.imshow(img2)
        #plb.show()
        #储存为原来路径覆盖原文件
        img2.save(path)
    plb.show()
    

    注意:

    1.box中是 int 型 ,不是整形会报错
    2.裁剪选点需要顺时针选点,当然也可根据需要自行修改源码
    3.f.endswith(‘.jpg’)|f.endswith(‘.png’) 可以读取jpg/png格式的文件
    4.getAllImages(path)返回类型为绝对路径

    展开全文
  • 近几天在研究二维码的识别,主要是通过python代码来识别特定图片内是否包含二维码。方法有分类,还有下面我介绍的直接法。 需要安装库 pip install pyzbar pip install opencv-python 我们 先准备些二维码 ...

    近几天在研究二维码的识别,主要是通过python代码来识别特定图片内是否包含二维码。方法有分类,还有下面我介绍的直接法。

    需要安装库

    pip install pyzbar 
    pip install opencv-python
    

    我们 先准备些二维码

    在这里插入图片描述

    总共有11个二维码。

    下面我们进行二维码识别:

    # -*- coding: utf-8 -*-
    
    
    import os
    from pyzbar.pyzbar import decode
    import cv2
    
    
    """
    图片包含二维码检测
    """
    def qrcode_recongnize(filepath,filename):
        """
        :param filepath: 图片路径
        :param filename: 图片名字
        :return: qrcode 图片包含二维码,unqrcode 图片不包含二维码
        """
        image_type = []
        try:
            # 读取图片
            image = cv2.imread(filepath+filename)
            # 灰度化
            image=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)
            # 解码二维码
            result = decode(image)
    
            if len(result)>0:
                image_type.append('qrcode')
    
            else:
                image_type.append('unqrcode')
        except:
            image_type.append('unqrcode')
        return image_type
    
    
    
    if __name__ == '__main__':
    
        filepath="F:/img_spam/test/"
        for parent,dirnames,filenames in os.walk(filepath):
         for filename in filenames:
            kk=qrcode_recongnize(filepath,filename)
            print(filename,kk)
    
    
    

    运行结果:

    10064002865114446300320010019402.jpg ['qrcode']
    10064002865147474800320010014524.jpg ['qrcode']
    10064002865193399400320010025444.jpg ['qrcode']
    10064002865201489200320010016199.jpg ['qrcode']
    10064002865201508800320010029686.jpg ['qrcode']
    10064002866745871400320010015155.jpg ['qrcode']
    10064002917911190400320010025075.jpg ['unqrcode']
    10064002918088242900320010011993.jpg ['qrcode']
    10064002918093458900320010012496.jpg ['qrcode']
    10064002918168035600320010029193.jpg ['qrcode']
    20181206142636.png ['qrcode']
    
    Process finished with exit code 0
    

    识别了10个是二维码,有一个二维码识别错误。进过分析,那个未识别的二维码,并不是微信二维码。

    而是一个网站的二维码。说明我们写的这个程序只能识别微信二维码,其他类型的二维码识别不了。后面再看看有没有别的方法。

    识别二维码方法二:

    # -*- coding: utf-8 -*-
    
    from pyzbar.pyzbar import decode
    from PIL import Image,ImageEnhance
    import os
    
    
    """
    图片包含二维码检测
    """
    def qrcode_recongnize(filepath,filename):
        """
        :param filepath: 图片路径
        :param filename: 图片名字
        :return: qrcode 图片包含二维码,unqrcode 图片不包含二维码
        """
        image_type = []
        try:
            # 读取图片
            img = Image.open(filepath + filename).convert('RGB')
            # 增加亮度
            img = ImageEnhance.Brightness(img).enhance(1.0)
            # 锐利化
            img = ImageEnhance.Sharpness(img).enhance(1.5)
            # 增加对比度
            img = ImageEnhance.Contrast(img).enhance(2.0)
            # 灰度化
            img = img.convert('L')
            # 解码二维码
            result = decode(img)
    
            if len(result)>0:
                image_type.append('qrcode')
    
            else:
                image_type.append('unqrcode')
        except:
            image_type.append('unqrcode')
        return image_type
    
    
    
    if __name__ == '__main__':
    
        filepath="F:/img_spam/test/"
        for parent,dirnames,filenames in os.walk(filepath):
         for filename in filenames:
            kk=qrcode_recongnize(filepath,filename)
            print(filename,kk)
    
    
    
    展开全文
  • 抓取图片正则表达式为r'src="(.+?\.(?:bmp|jpg|png|gif))"' 问下大神们,为什么抓取时不会将src=抓取进去,而只是抓取了括号里内容? (?:)是非捕获型括号吗?为什么直接用捕获型会多出.jpg类的字符?
  • Python图片文字提取

    千次阅读 2019-08-11 11:50:01
    图片信息现在越来越广泛的存在于我们的日常生活中,获取图片内的文字信息也渐渐的成为当今生活中的需求,在学习完Python的基础知识后,本小白以此语言为工具,使用百度提供的图像识别接口来实现简单的图片文字提取...

    图片信息现在越来越广泛的存在于我们的日常生活中,获取图片内的文字信息也渐渐的成为当今生活中的需求,在学习完Python的基础知识后,本小白以此语言为工具,使用百度提供的图像识别接口来实现简单的图片文字提取(承蒙各位大佬关照);

    学习URL:https://ai.baidu.com/docs#/OCR-Python-SDK/top

    第一步:安装使用python sdk;(如果以安装pip:执行pip install baidu-aip命令即可,若有PyCharm直接在setting中配置)

    第二步:导入相关库文件,新建我们的客户对象;

    from aip import AipOcr
    
    """ 你的 APPID AK SK """
    APP_ID = '你的 App ID'
    API_KEY = '你的 Api Key'
    SECRET_KEY = '你的 Secret Key'
    
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

    以上代码中的APP_ID、API_KEY、SECRET_KET在自己创建的图像识别应用中都能找到;(连接地址:https://ai.baidu.com/

    第三步:获取图片信息并配置相关属性;

    获取本地图片信息:

    """ 读取图片 """
    def get_file_content(filePath):
        with open(filePath, 'rb') as fp:
            return fp.read()#返回文件读取对象
    
    image = get_file_content('example.jpg')
    

    通过URL来获取图片信息:

    img = "ImageUrl" #直接提供图片链接即可

    进行相关属性的配置options:(配置信息如下表所示)

    """ 如果有可选参数 """
    options = {}#配置字典
    options["language_type"] = "CHN_ENG"#识别文字类型
    options["detect_direction"] = "true"#是否检测图片的朝向
    options["detect_language"] = "true"#是否检测语言
    options["probability"] = "true"#是否返回置信度
    字段 必选 类型 说明
    language_type string CHN_ENG
    ENG
    POR
    FRE
    GER
    ITA
    SPA
    RUS
    JAP
    KOR
    识别语言类型,默认为CHN_ENG。可选值包括:
    - CHN_ENG:中英文混合;
    - ENG:英文;
    - POR:葡萄牙语;
    - FRE:法语;
    - GER:德语;
    - ITA:意大利语;
    - SPA:西班牙语;
    - RUS:俄语;
    - JAP:日语;
    - KOR:韩语;
    detect_direction string true
    false
    是否检测图像朝向,默认不检测,即:false。朝向是指输入图像是正常方向、逆时针旋转90/180/270度。可选值包括:
    - true:检测朝向;
    - false:不检测朝向。
    detect_language string true
    false
    是否检测语言,默认不检测。当前支持(中文、英语、日语、韩语)
    probability string true
    false
    是否返回识别结果中每一行的置信度

    最后根据不同的获取图片方式调用不同的操作方法即可:

    '''本地图片信息'''
    result=client.basicGeneral(image, options)
    
    
    '''本地图片信息'''
    result=client.basicGeneralUrl(url, options)
    #options为可选参数,可以只提供图片文件对象或者图片url

     结果(result)的以字典类型返回,相关类型与说明如下表所示:

    字段 必选 类型 说明
    direction number 图像方向,当detect_direction=true时存在。
    - -1:未定义,
    - 0:正向,
    - 1: 逆时针90度,
    - 2:逆时针180度,
    - 3:逆时针270度
    log_id number 唯一的log id,用于问题定位
    words_result_num number 识别结果数,表示words_result的元素个数
    words_result array 定位和识别结果数组
    +words string 识别结果字符串
    probability object 行置信度信息;如果输入参数 probability = true 则输出
    +average number 行置信度平均值
    +variance number 行置信度方差
    +min number 行置信度最小值

    返回结果样例图:

    完整代码:(以识别本地图片信息为例,小伙伴们可自行测试URL的操作方式)

    from aip import AipOcr
    
    """ 你的 APPID AK SK """
    APP_ID = '你的 App ID'
    API_KEY = '你的 Api Key'
    SECRET_KEY = '你的 Secret Key'
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    
    """ 读取图片 """
    def get_file_content(filePath):
        with open(filePath, 'rb') as fp:
            return fp.read()#获取图片信息
    
    image = get_file_content('example.jpg')#与当前py文件在同一路径下
    
    """ 如果有可选参数 """
    options = {}
    options["language_type"] = "CHN_ENG"
    options["detect_direction"] = "false"
    options["detect_language"] = "true"
    options["probability"] = "true"#配置相关参数
    
    """ 带参数调用通用文字识别, 图片参数为本地图片 """
    result=client.basicGeneral(image, options)
    
    print("提取的文字信息:")
    for i in result["words_result"]:
        print(i["words"])#打印图片文字信息

    测试图片:(测试结果对图片的文字提取的可信度大约能在90%以上基本上能够实现对文字信息的提取)

    测试结果:

    展开全文
  • Python爬虫实战之爬取网站全部图片(一)

    万次阅读 多人点赞 2018-09-02 12:28:21
    Python爬虫实战之爬取网站全部图片(二) 传送门: https://blog.csdn.net/qq_33958297/article/details/89388556 爬取网址: http://www.meizitu.com/a/more_1.html 爬取地址:...
  • python 图片爬取 爬取各校校花图片 爬取十页校花图片(可按需求更改页数,爬取更多图片) #爬取各高校校花图片 import requests import time from lxml import etree import pandas as pd startUrl='...
  • Python图片总结

    千次阅读 2015-04-25 15:03:00
    1、Python变量和数据类型 2、循环语句 3、List和Tuple类型  4、Dict和Set类型  5、Python切片 6、Python迭代 7、Python列表生成式 8、Python生成器 9、Python函数 10、Python返回函数和闭包 ...
  • Python爬取百度图片

    万次阅读 多人点赞 2017-06-16 08:59:18
    新人上路, 老司机们请多多关照, 写的不好的地方, 还请多指教. ...输入想要抓取的图片的关键字, 如”苍老师”, 然后输出百度图片搜索苍老师的所有图片 采用翻页模式进行爬取 1. 分析网页结
  • python图片转为二进制文本

    万次阅读 热门讨论 2018-11-06 00:05:21
    我在研究机器学习的过程中,给的数据集是手写数字图片被处理后的由0,1表达的txt文件,今天写一写关于图片转化为二进制txt文件的python实践 在这里,我们使用python中的Pillow库,Pillow库中有一个很重要的类是...
  • python 导入图片

    千次阅读 2020-03-02 19:50:07
    利用python导入图片 直接从源文件中导入 import matplotlib.pyplot as plt # 用于画图 import matplotlib.image as mpimg # 用于显示图片 cat = mpimg.imread('机器猫.jpg') # print(cat) plt.imshow(cat) plt.show...
  • Python 图片尺寸缩放的4种方式

    万次阅读 多人点赞 2015-01-16 14:56:09
    微信公众号"IT程序猿进化史", 共同学习进化~ ...最近由于网站对图片尺寸的需要,用python写了个小脚本,方便进行图片尺寸的一些调整,特记录如下: # coding=utf-8 import Image import shutil import os ...
  • python图片处理之图片缩放

    千次阅读 2018-07-20 10:32:03
    from PIL import Image # 1 打开文件, 返回一个文件对象;... 获取已有图片的尺寸; width, height = im.size #3. 缩放图片50% im.thumbnail((width/10, height/10)) # 4.把缩放的图片保存; im.save('hello1.png', ...
  • Python 图片拼接

    千次阅读 2011-11-14 10:50:43
    /bin/env python2.4 # -*- coding:utf-8 -*- # 图片拼接练习 import PIL.Image as Image import os,sys mw = 300 ms = 22 msize = mw * ms fpre = "s10100" toImage = Image.new('RGBA', (msize, msize)) for y ...
  • python 图片去噪的方法

    万次阅读 2018-09-20 09:13:41
    python 图片去噪的方法  图像可能在生成、传输或者采集过程中夹带了噪声,去噪声是图像处理中常用的手法。通常去噪声用滤波的方法,比如中值滤波、均值滤波。但是那样的算法不适合用在处理字符这样目标狭长的图像...
  • python旋转图片

    千次阅读 2019-03-28 14:48:37
    今天在处理图片做模型测试的时候,发现如果对于人脸的检测,当图片的角度发生变化,比如人的照片是倒置的就会对精度产生影响,所以对于初始图像的处理是必要的,需要处理图像旋转,这样在数据增强等领域也都有很多的...
  • Python提取图片二维码Python

    千次阅读 2018-08-08 11:23:40
     image_path='D:/获取图片验证码/picture/3.jpg'#图片文件路径  image = Image.open(image_path)  result = tesserocr.image_to_text(image)   报错: https://www.imooc.com/article/45278 ...
  • 关于Python tkinter中出现的坑(界面Tk()+图片显示)

    万次阅读 多人点赞 2019-03-06 18:06:45
    一、关于Python3的tkinter模块 1、首先关于创建Python的窗口是导入 import tkinter 或者 from tkinter import * 这两种形式。关于创建tkinter 的大家耳熟能详的就是直接 win=Tk()[在导入方式为from tkinter ...
  • 关于python的matplotlib库下实现按键后切换imshow图片 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 ...
  • Python 图片去除背景

    千次阅读 2019-07-23 14:10:25
    安装 pip install removebg 使用 官网注册账号:https://www.remove.bg/users/sign_up ...找到 python 相关的 API 示例如下: # Requires "requests" to be installed (see python-requests.o...
  • Python 图片复制

    千次阅读 2017-10-03 03:52:08
    os.getcwd() 函数得到当前工作目录,即当前Python脚本工作的目录路径 os.getenv() 获取一个环境变量,如果没有返回none os.putenv(key, value) 设置一个环境变量值 os.listdir(path) 返回指定目录下的...
  • Python图片

    万次阅读 多人点赞 2018-10-31 18:30:48
    学完了爬网页中的文本,今天我们来试着学习爬图片 目标网址:http://www.netbian.com/ ![在这里插入图片描述](https://img-blog.csdnimg.cn/20181031183029798.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5...
  • python图片简易二值化

    千次阅读 2015-09-14 18:38:12
    python图片简易二值化
  • Python】解决使用 plt.savefig 保存图片时一片空白

    万次阅读 多人点赞 2016-10-24 15:52:08
    问题当使用如下代码保存使用plt.savefig 保存生成的图片时,结果打开生成的图片确实一片空白。import matplotlib.pyplot as plt""" 一些画图代码 """plt.show() plt.savefig("filename.png")原因其实产生这个现象的...
  • python图片处理之图片模糊效果

    千次阅读 2018-07-20 10:33:04
    from PIL import Image, ImageFilter # 1 打开文件, 返回一个文件对象; ... 对图片进行模糊效果 im2 = im.filter(ImageFilter.BLUR) # 4.把缩放的图片保存; im2.save('hello2.png', 'png') ~ ...
  • 关于python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图
  • python图片简易像素修改

    万次阅读 2017-12-01 19:25:36
    首先,我们需要的工具有scipy, numpy, Image, matplotlib.pyplot。具体安装方式为pip install numpy ...pip install Image进行图片处理时我们需要,导入python lib,如下from PIL import Image import numpy as np
  • python图片批量处理缩放

    千次阅读 2017-09-18 09:17:05
    你有一个目录,里面装了很多...使用python的PIL库对图片进行处理,iphone5屏幕分辨率为640*1136,将大于该分辨率的图片按照一定比例缩放至合适大小并保存 代码如下: #coding: ut
  • python 图片验证码去噪 识别

    千次阅读 2018-06-04 17:58:39
    二值化处理(图片默认在C:\Python27\Scripts文件夹下,可根据自己需求更改)原图:from PIL import Image # 二值化处理 def two_value(): # 打开文件夹中的图片 image=Image.open('3.jpg') # 灰度图 lim...
  • Python处理图片亮度

    千次阅读 热门讨论 2019-05-16 12:09:16
    Python处理图片亮度 使用python 采用原生库PIL中的方式调节图片亮度,希望对大家有帮助谢谢! 代码片. import os import math from PIL import Image, ImageStat, ImageEnhance import sys # 读取图片原有的亮度值 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 436,212
精华内容 174,484
关键字:

关于python的图片

python 订阅