最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python利用pytesseract 實現(xiàn)本地識別圖片文字

 更新時間:2020年12月14日 15:59:14   作者:凹凸曼大人  
這篇文章主要介紹了python利用pytesseract 實現(xiàn)本地識別圖片文字,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import glob
from os import path
import os
import pytesseract
from PIL import Image
from queue import Queue
import threading
import datetime
import cv2

def convertimg(picfile, outdir):
  '''調(diào)整圖片大小,對于過大的圖片進行壓縮
  picfile:  圖片路徑
  outdir:  圖片輸出路徑
  '''
  img = Image.open(picfile)
  width, height = img.size
  while (width * height > 4000000): # 該數(shù)值壓縮后的圖片大約 兩百多k
    width = width // 2
    height = height // 2
  new_img = img.resize((width, height), Image.BILINEAR)
  new_img.save(path.join(outdir, os.path.basename(picfile)))


def baiduOCR(ts_queue):
  while not ts_queue.empty():
    picfile = ts_queue.get()
    filename = path.basename(picfile)
    outfile = 'D:\Study\pythonProject\scrapy\IpProxy\port_zidian.txt'
    img = cv2.imread(picfile, cv2.IMREAD_COLOR)
    print("正在識別圖片:\t" + filename)
    message = pytesseract.image_to_string(img,lang = 'eng')
    message = message.replace('', '')
    message = message.replace('\n', '')
    # message = client.basicAccurate(img)  # 通用文字高精度識別,每天 800 次免費
    #print("識別成功!"))
    try:
      filename1 = filename.split('.')[0]
      filename1 = ''.join(filename1)
      with open(outfile, 'a+') as fo:
        fo.writelines('\'' + filename1 + '\'' + ':' + message + ',')
        fo.writelines('\n')
        # fo.writelines("+" * 60 + '\n')
        # fo.writelines("識別圖片:\t" + filename + "\n" * 2)
        # fo.writelines("文本內(nèi)容:\n")
        # # 輸出文本內(nèi)容
        # for text in message.get('words_result'):
        #   fo.writelines(text.get('words') + '\n')
        # fo.writelines('\n' * 2)
      os.remove(filename)
      print("識別成功!")
    except:
      print('識別失敗')



    print("文本導出成功!")
    print()
def duqu_tupian(dir):
  ts_queue = Queue(10000)

  outdir = dir
  # if path.exists(outfile):
  #   os.remove(outfile)
  if not path.exists(outdir):
    os.mkdir(outdir)
  print("壓縮過大的圖片...")
  # 首先對過大的圖片進行壓縮,以提高識別速度,將壓縮的圖片保存與臨時文件夾中
  try:
    for picfile in glob.glob(r"D:\Study\pythonProject\scrapy\IpProxy\tmp\*"):
      convertimg(picfile, outdir)
    print("圖片識別...")
    for picfile in glob.glob("tmp1/*"):
      ts_queue.put(picfile)
      #baiduOCR(picfile, outfile)
      #os.remove(picfile)
    print('圖片文本提取結(jié)束!文本輸出結(jié)果位于文件中。' )
    #os.removedirs(outdir)
    return ts_queue
  except:
    print('失敗')

if __name__ == "__main__":

  start = datetime.datetime.now().replace(microsecond=0)
  t = 'tmp1'
  s = duqu_tupian(t)
  threads = []
  try:
    for i in range(100):
      t = threading.Thread(target=baiduOCR, name='th-' + str(i), kwargs={'ts_queue': s})
      threads.append(t)
    for t in threads:
      t.start()
    for t in threads:
      t.join()
    end = datetime.datetime.now().replace(microsecond=0)
    print('刪除耗時:' + str(end - start))
  except:
    print('識別失敗')

實測速度慢,但用了多線程明顯提高了速度,但準確度稍低,同樣高清圖片,90百分識別率。還時不時出現(xiàn)亂碼文字,亂空格,這里展現(xiàn)不了,自己實踐吧,重點免費的,隨便識別,通向100張圖片,用時快6分鐘了,速度慢了一倍,但是是免費的,挺不錯的了。

以上就是python利用pytesseract 實現(xiàn)本地識別圖片文字的詳細內(nèi)容,更多關(guān)于python 識別圖片文字的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python IndexError報錯分析及解決方法

    Python IndexError報錯分析及解決方法

    在Python編程中,IndexError是一種常見的異常類型,它通常發(fā)生在嘗試訪問序列(如列表、元組或字符串)中不存在的索引時,本文將深入分析IndexError的成因、表現(xiàn)形式,并提供相應(yīng)的解決辦法,同時附帶詳細的代碼示例,需要的朋友可以參考下
    2024-07-07
  • Python 和 JS 有哪些相同之處

    Python 和 JS 有哪些相同之處

    Python 是一門運用很廣泛的語言,自動化腳本、爬蟲,甚至在深度學習領(lǐng)域也都有 Python 的身影。下面通過本文給大家介紹Python 和 JS 有哪些相同之處,需要的朋友參考下吧
    2017-11-11
  • Python語法學習之進程的創(chuàng)建與常用方法詳解

    Python語法學習之進程的創(chuàng)建與常用方法詳解

    本文我們將學習一下在?Python?中去創(chuàng)建并使用多進程的方法,可以通過創(chuàng)建多個進程來幫助我們提高腳本執(zhí)行的效率,感興趣的可以了解一下
    2022-04-04
  • Python3中的最大整數(shù)和最大浮點數(shù)實例

    Python3中的最大整數(shù)和最大浮點數(shù)實例

    今天小編就為大家分享一篇Python3中的最大整數(shù)和最大浮點數(shù)實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題

    解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題

    這篇文章主要介紹了解決python 執(zhí)行sql語句時所傳參數(shù)含有單引號的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • Celery批量異步調(diào)用任務(wù)一直等待結(jié)果問題

    Celery批量異步調(diào)用任務(wù)一直等待結(jié)果問題

    這篇文章主要介紹了Celery批量異步調(diào)用任務(wù)一直等待結(jié)果問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Python獲取excel內(nèi)容及相關(guān)操作代碼實例

    Python獲取excel內(nèi)容及相關(guān)操作代碼實例

    這篇文章主要介紹了Python獲取excel內(nèi)容及相關(guān)操作代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-08-08
  • Python實現(xiàn)貪心算法的示例

    Python實現(xiàn)貪心算法的示例

    這篇文章主要介紹了Python實現(xiàn)貪心算法的示例,幫助大家更好的理解和學習使用python,感興趣的朋友可以了解下
    2021-04-04
  • python單向循環(huán)鏈表實例詳解

    python單向循環(huán)鏈表實例詳解

    這篇文章主要為大家詳細介紹了python單向循環(huán)鏈表實例,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 使用Python自制一個回收站清理器

    使用Python自制一個回收站清理器

    經(jīng)常筆記本電腦的回收站存儲了很多的文件,需要打開回收站全部選中進行清理。這篇文章將使用Python自制一個回收站清理器,需要的可以參考一下
    2023-03-03

最新評論

霍州市| 漯河市| 云和县| 巫山县| 岳阳市| 冀州市| 汕尾市| 卢氏县| 汝阳县| 朔州市| 伊吾县| 克东县| 故城县| 河源市| 易门县| 仁布县| 修文县| 佛学| 海南省| 家居| 昔阳县| 惠来县| 康马县| 格尔木市| 通道| 皋兰县| 积石山| 图片| 北流市| 栖霞市| 新余市| 徐汇区| 湾仔区| 从化市| 绥芬河市| 乌兰浩特市| 芒康县| 盐城市| 台南县| 阳新县| 双桥区|