婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 小白學Python之實現OCR識別

小白學Python之實現OCR識別

熱門標簽:地圖標注審核表 外呼并發線路 ai電銷機器人源碼 宿遷星美防封電銷卡 百度地圖標注沒有了 西藏房產智能外呼系統要多少錢 長沙高頻外呼系統原理是什么 ai電話機器人哪里好 湛江智能外呼系統廠家

前期準備

在這個階段主要準備整個小程序的結構,既然要實現ocr,那么輸入就是一張圖片,而圖片這里采用屏幕截圖的方式獲得,輸出是文字,這里采用搜狗的ocr接口,我們把截好的圖片傳到搜狗ocr接口中,然后把返回的文字作為輸出即可。

由于想做一個小程序,所以要為程序做GUI,這里采用tkinter編制GUI界面。

界面編寫

界面主要就準備一個窗體,里面有菜單,給出OCR功能。

之后我們點擊菜單,則啟動一個截圖功能,在截圖完成后,我們就把截得的圖片傳入ocr接口并返回文字到主窗體中。

主面板的編寫則直接使用tkinter建立菜單等

	root = Tk() 
	root.title("小新的OCR")
	# 創建一個頂級菜單
    menubar = Menu(root)
    # 創建一個下拉菜單“文件”,然后將它添加到頂級菜單中
    filemenu = Menu(menubar, tearoff=False)
    filemenu.add_command(label="OCR", command=buttonCaptureClick, accelerator='Ctrl+N')
    filemenu.add_command(label="幫助",command=helpClick)
    filemenu.add_command(label="退出", command=root.quit)
    menubar.add_cascade(label="操作", menu=filemenu)
    # 顯示菜單
    root.config(menu=menubar)
    root.bind_all("Control-d>", lambda event: buttonCaptureClick())
    #啟動消息主循環
    root.mainloop()  

這樣變回產生一個窗體,用戶可以和這個窗體進行交互,你可以點擊菜單,然后找到其子菜單中的OCR一項,點擊它便會調用一個buttonCaptureClick的函數,這個函數就來產生截圖,并且保存截圖。

截圖功能實現

截圖功能我也是參考網上的內容,原理就是先把整個屏幕給捕捉到,然后監聽鼠標事件,當鼠標左邊按下則作為截圖的左頂點,鼠標左鍵松下則最為截圖的右底點,這樣我們截圖區域就出來了,然后進行保存即可。

#用來顯示全屏幕截圖并響應二次截圖的窗口類
class MyCapture:
    def __init__(self, png):
        #變量X和Y用來記錄鼠標左鍵按下的位置
        self.X = tkinter.IntVar(value=0)
        self.Y = tkinter.IntVar(value=0)
        #屏幕尺寸
        screenWidth = root.winfo_screenwidth()
        screenHeight = root.winfo_screenheight()
        #創建頂級組件容器
        self.top = tkinter.Toplevel(root, width=screenWidth, height=screenHeight)
        #不顯示最大化、最小化按鈕
        self.top.overrideredirect(True)
        self.canvas = tkinter.Canvas(self.top,bg='white', width=screenWidth, height=screenHeight)
        #顯示全屏截圖,在全屏截圖上進行區域截圖
        self.image = tkinter.PhotoImage(file=png)
        self.text =""
        self.canvas.create_image(screenWidth//2, screenHeight//2, image=self.image)
        #鼠標左鍵按下的位置
        def onLeftButtonDown(event):
            self.X.set(event.x)
            self.Y.set(event.y)
            #開始截圖
            self.sel = True
        self.canvas.bind('Button-1>', onLeftButtonDown)
        #鼠標左鍵移動,顯示選取的區域
        def onLeftButtonMove(event):
            if not self.sel:
                return
            global lastDraw
            try:
                #刪除剛畫完的圖形,要不然鼠標移動的時候是黑乎乎的一片矩形
                self.canvas.delete(lastDraw)
            except Exception as e:
                pass
            lastDraw = self.canvas.create_rectangle(self.X.get(), self.Y.get(), event.x, event.y, outline='black')
        self.canvas.bind('B1-Motion>', onLeftButtonMove)
        #獲取鼠標左鍵抬起的位置,保存區域截圖
        def onLeftButtonUp(event):
            self.sel = False
            try:
                self.canvas.delete(lastDraw)
            except Exception as e:
                pass
            sleep(0.1)
            #考慮鼠標左鍵從右下方按下而從左上方抬起的截圖
            left, right = sorted([self.X.get(), event.x])
            top, bottom = sorted([self.Y.get(), event.y])
            pic = ImageGrab.grab((left+1, top+1, right, bottom))
            fileName ="temp.jpg"
            pic.save(fileName)
            self.text = get_text(fileName)
            #關閉當前窗口
            self.top.destroy()
        self.canvas.bind('ButtonRelease-1>', onLeftButtonUp)
#讓canvas充滿窗口,并隨窗口自動適應大小
        self.canvas.pack(fill=tkinter.BOTH, expand=tkinter.YES)
 #開始截圖
def buttonCaptureClick():
    #最小化主窗口
#     root.state('icon')
    root.withdraw()
    sleep(0.4)
    filename = 'temp.png'
    #grab()方法默認對全屏幕進行截圖
    im = ImageGrab.grab()
    im.save(filename)
    im.close()
    #顯示全屏幕截圖
    w = MyCapture(filename)
    root.wait_window(w.top)
    #截圖結束,恢復主窗口,并刪除臨時的全屏幕截圖文件
    root.update()
    root.deiconify()
    text1.config(state = NORMAL)
    text1.delete(0.0,END)
    text1.insert('insert',w.text)
    text1.config(state = DISABLED)
    text1.pack()
    os.remove(filename)

OCR實現

因為OCR其實是采用了搜狗的接口,所以需要做的工作也不是很多,只需要把我們的圖片傳入即可。

def get_text(img_path):
    print("")
    img = img_path # 圖片路徑
    files = {"pic_path": open(img, "rb")}  # files # 類似data數據
    url = "http://pic.sogou.com/pic/upload_pic.jsp"  # post的url
    keywords = requests.post(url, files=files).text  # requests 提交圖片
    url = "http://pic.sogou.com/pic/ocr/ocrOnline.jsp?query=" + keywords  # keywords就是圖片url此方式為get請求
    ocrResult = requests.get(url).json()  # 直接轉換為json格式
    
    contents = ocrResult['result']  # 類似字典 把result的value值取出來 是一個list然后里面很多json就是識別的文字
    text = ""
    for content in contents:  # 遍歷所有結果
        text+=(content['content'].strip()+'\n')  # strip去除空格 他返回的結果自帶一個換行
    return text

內容顯示

內容顯示是在截圖結束后我們把ocr識別的內容存儲起來

self.text = get_text(fileName)  

然后再顯示到主窗體上

    text1.config(state = NORMAL)
    text1.delete(0.0,END)
    text1.insert('insert',w.text)
    text1.config(state = DISABLED)
    text1.pack()  

總結

雖然是一個完整的項目,但是其中的很多模塊其實都是借用其他人的模塊,而我做的只是把他們結合起來做成一個小項目,所以是站在巨人的肩膀上開發。

到此這篇關于Python實現OCR識別的文章就介紹到這了,更多相關Python實現OCR識別內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

參考:

  • https://cloud.tencent.com/developer/article/1097904
  • https://morvanzhou.github.io/tutorials/python-basic/tkinter/
  • https://www.52pojie.cn/thread-708177-1-1.html
您可能感興趣的文章:
  • 基于Python實現對PDF文件的OCR識別
  • 初探利用Python進行圖文識別(OCR)
  • 如何使用Python進行OCR識別圖片中的文字
  • python3安裝OCR識別庫tesserocr過程圖解
  • Python文字截圖識別OCR工具實例解析
  • Python圖像處理之圖片文字識別功能(OCR)
  • python實現百度OCR圖片識別過程解析
  • Python基于百度AI實現OCR文字識別
  • Python3實現騰訊云OCR識別
  • Python 實現任意區域文字識別(OCR)操作

標簽:普洱 大同 漯河 寧夏 林芝 南平 盤錦 海南

巨人網絡通訊聲明:本文標題《小白學Python之實現OCR識別》,本文關鍵詞  小,白學,Python,之,實現,OCR,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《小白學Python之實現OCR識別》相關的同類信息!
  • 本頁收集關于小白學Python之實現OCR識別的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    国产精品美女久久福利网站| 国产精品区一区二区三区| 91精品国产高清一区二区三区| 国产精品久久毛片av大全日韩| 成人一级黄色片| 国产日韩欧美一区二区三区综合| 精品一区二区三区日韩| 欧美mv日韩mv国产网站app| 韩国一区二区在线观看| 久久久精品免费免费| 91网址在线看| 亚洲国产aⅴ天堂久久| 欧美放荡的少妇| 国产激情视频一区二区在线观看 | 26uuu久久天堂性欧美| 国产酒店精品激情| 亚洲色图在线看| 91精品国产综合久久香蕉的特点| 国产一区二区三区香蕉| 日韩理论片在线| 欧美一区二区三区免费| 成人免费毛片片v| 亚洲成a天堂v人片| 欧美韩日一区二区三区四区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 日产国产欧美视频一区精品| 国产清纯白嫩初高生在线观看91| 在线观看91视频| 国产成人午夜精品影院观看视频| 亚洲一区在线视频| 久久久夜色精品亚洲| 色婷婷综合激情| 国产剧情一区二区三区| 一级做a爱片久久| 久久精品视频免费观看| 欧美性猛片xxxx免费看久爱| 国产精品911| 日韩av高清在线观看| 亚洲欧洲国产专区| 精品国产乱码久久久久久夜甘婷婷 | 欧美精品777| 国产乱码精品一区二区三区av | 99久久夜色精品国产网站| 亚洲国产aⅴ天堂久久| 国产精品久久午夜| 久久综合九色综合97婷婷女人| 欧美无砖砖区免费| 一本色道久久综合亚洲91| 国产乱码字幕精品高清av| 天天免费综合色| 亚洲午夜精品网| 亚洲视频免费在线| 国产精品国产精品国产专区不蜜| 久久综合色综合88| 精品电影一区二区| 日韩欧美国产麻豆| 日韩一区二区在线观看视频播放| 欧美性生活久久| 欧美亚洲自拍偷拍| 欧美性大战久久| 欧美日韩在线免费视频| 在线观看www91| 欧美日韩一区二区三区高清 | 久久伊99综合婷婷久久伊| 国产精品乱码久久久久久 | 欧美一级黄色大片| 欧美美女一区二区在线观看| 欧洲精品视频在线观看| 欧美日韩国产bt| 欧美久久久影院| 欧美一区二区三区白人| 日韩精品一区二区三区在线播放 | 日韩一级在线观看| 精品粉嫩超白一线天av| www国产亚洲精品久久麻豆| 久久久久久综合| 国产精品乱码人人做人人爱| 最新国产の精品合集bt伙计| 一区二区三区欧美久久| 日韩精品视频网站| 精东粉嫩av免费一区二区三区| 激情综合一区二区三区| 成人性生交大合| 色视频成人在线观看免| 8v天堂国产在线一区二区| 精品理论电影在线观看| 国产精品嫩草99a| 亚洲成人精品影院| 狠狠久久亚洲欧美| 91丨国产丨九色丨pron| 6080午夜不卡| 久久精品视频免费| 亚洲高清不卡在线观看| 久久99精品久久久久久久久久久久| 国产精品一区免费视频| 色婷婷精品久久二区二区蜜臂av | 欧美日韩和欧美的一区二区| 欧美成人伊人久久综合网| 欧美激情一区二区三区在线| 亚洲伦理在线精品| 国产麻豆视频一区二区| 在线观看日韩电影| 久久―日本道色综合久久| 一区二区欧美精品| 国产成人av一区| 欧美精品 日韩| 国产精品久久久久久久久免费丝袜| 亚洲福利国产精品| 成人激情开心网| 欧美刺激午夜性久久久久久久| 国产精品麻豆欧美日韩ww| 视频一区免费在线观看| 成人激情免费网站| 欧美一级电影网站| 亚州成人在线电影| 91免费在线看| 国产欧美日韩综合精品一区二区 | 亚洲一区在线视频| 国产精品12区| 日韩亚洲欧美综合| 亚洲成人中文在线| 91蜜桃婷婷狠狠久久综合9色| 欧美精品一区男女天堂| 蜜臀久久久久久久| 欧美区在线观看| 亚洲一级二级在线| 色8久久人人97超碰香蕉987| 中文字幕一区二区日韩精品绯色| 国产精品中文字幕欧美| 精品捆绑美女sm三区| 蜜桃视频第一区免费观看| 3751色影院一区二区三区| 亚洲成a天堂v人片| 国产精品成人免费精品自在线观看| 久久国产精品第一页| 4hu四虎永久在线影院成人| 午夜欧美电影在线观看| 欧美三级中文字幕在线观看| 亚洲免费av在线| 欧美性欧美巨大黑白大战| 一区二区三区精品久久久| 色吊一区二区三区| 亚洲精品国产高清久久伦理二区| 成人国产精品免费观看| 国产精品久久久久久久久免费丝袜| 粉嫩绯色av一区二区在线观看| 欧美激情一二三区| 91在线你懂得| 一区二区三区在线免费播放| 欧美在线观看视频在线| 视频一区二区不卡| 日韩精品一区二区三区视频播放| 久久66热偷产精品| 欧美韩国日本不卡| 色偷偷88欧美精品久久久| 一区二区三区av电影| 欧美日韩国产免费一区二区 | 成人av资源下载| 亚洲免费观看高清完整版在线观看熊 | 成人app软件下载大全免费| 亚洲欧洲99久久| 欧美精品久久久久久久久老牛影院| 日韩极品在线观看| 久久综合999| 日本精品视频一区二区三区| 天天综合天天做天天综合| 久久精品视频网| 欧美日韩精品欧美日韩精品一 | 亚洲三级电影网站| 911国产精品| 成人免费电影视频| 日韩电影免费在线看| 国产精品无遮挡| 91精品国产乱码| 成人精品电影在线观看| 亚洲18色成人| 国产精品久久久久久久久久久免费看 | 欧美一卡二卡在线观看| 国产乱对白刺激视频不卡| 亚洲午夜久久久久| 日本一区免费视频| 91精品国产综合久久久久久| 不卡一区中文字幕| 美女免费视频一区二区| 亚洲欧美日韩小说| 国产亚洲精品7777| 1000部国产精品成人观看| 在线观看欧美日本| www.亚洲人| 国产一区福利在线| 日韩中文字幕亚洲一区二区va在线| 国产精品国产三级国产普通话99| 久久综合视频网| 欧美一级免费观看| 欧美日韩国产首页在线观看| 91丨九色丨国产丨porny| av电影在线观看一区| 成人性生交大片免费看视频在线 | 欧美视频一区在线| 91社区在线播放|