日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python识别文字软件_使用Python和大漠插件进行文字识别含软件源码

發布時間:2023/12/10 python 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python识别文字软件_使用Python和大漠插件进行文字识别含软件源码 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大漠插件介紹

因為使用的是Windows系統,所以好多工作之前已經有大佬完成了。幾年前使用過按鍵精靈的同學一定對大漠插件不陌生,其功能之強大,可以用來完成很多操作。

大漠插件文檔

從文檔可以看出,功能實在太多了,覆蓋了方方面面。我基本使用到的就是圖片識別,文字識別,鍵鼠操作等,最強大的功能莫過于后臺操作,也就是窗口最小化時不影響鼠標鍵盤的操作。想象一下,游戲在后臺自動執行,前臺繼續做工作,互不干擾。

我現在需要做的就是將大漠插件使用python而不是按鍵精靈讓其工作,因為按鍵精靈這類軟件很容易被查出來。

文字識別

圖像轉文字需要三個步驟。

拿到圖片

二值化

使用字庫進行識別

當這三步完成的時候,文字順理成章就被識別出來了。

使用大漠插件的好處是每次識別不需要將識別的圖片保存到本地,而是給定屏幕上的范圍就可以識別了。

現在我們按步驟操作一波。

拿到圖片,獲取偏色列表

我們需要識別這張圖片中的“3”,“0”,“/”,“2”,“7”。

使用大漠偏色計算器計算偏色。

具體步驟是:

先抓圖,獲取圖片

識別數字。將鼠標移到需要識別的數字的顏色部分(例如這個圖片背景是棕色,文字是黑色,將鼠標移到黑色部分,稍后的二值化就是將黑色部分突出顯示)。

點擊“根據顏色列表的第一個和RGB顏色偏差添加顏色到顏色列表”,會自動生成多個顏色。

點擊計算偏色。

二值化預覽區應該可以清晰的看到我們需要識別的數字了。

如果你覺得識別后的文字還不夠清晰,可以自己修改顏色列表。

這一步操作我們需要拿到偏色列表:514C45-2B2926。這個偏色列表之后用處非常大。

使用大漠綜合工具新建或編輯字庫

二值化顯示的結果,程序還是不認識“3”或“0”,需要我們告訴程序,“3”這個字符對應的是數字3,這樣當我們之后識別字符,程序再遇到“3”樣子的字符就會返回3這個數字。

提取點陣并定義文字,將識別后的結果與我們想要的結果做對應,然后添加到字庫。

簡單描述我們的操作是:

使用浮動抓圖功能,在桌面上找到需要識別的范圍

在第一行RGB,偏色輸入剛才的偏色列表

點擊提取點陣(多個)

打開或新建字庫(txt文件)

定義文字(然后回車)

需要注意的是在提取點陣的時候彈出一個對話框,直接按確認就可以。

如果遇到一個預覽結果顯示多個字符,兩個字符被認為是一個字符的情況,可能是偏色列表不夠嚴謹,重新在判斷偏色吧。

預覽結果是“0”,那么就在定義文字一欄輸入0,回車,這樣就做了對應,并保存到字庫中了。

重復以上操作,把需要識別的字符都做對應。當然我介紹的是對于游戲中一些特殊字符,系統無法識別需要自己做對應。大漠插件有提供系統字體的字庫,也比較豐富,不一定必須自己造字庫。

配合python返回識別結果

前面做了這么多工作,說到底還是為了python做準備。

使用32的python

如果你的電腦里已經有了python,不好意思,可能需要重裝。因為調用大漠插件只能使用python 32位的,不限制python2或3。我使用的是python3.7版本的32位。64位會報錯。

安裝pywin32庫

安裝好32位的python后,安裝pywin32庫來操作大漠插件。

命令行輸入pip install pywin32,等待安裝完成。

注冊大漠插件

下載好大漠插件壓縮包后,需要注冊大漠插件。

在dm.dll文件的同目錄中,使用管理員權限在cmd里執行:

regsvr32 dm.dll

完成注冊。

demo#!/usr/bin/env python

# -*- coding: utf-8 -*-

import win32com.client

class DmBase(object):

def __init__(self):

# 調用大漠插件

self.dm = win32com.client.Dispatch("dm.dmsoft")

# 設定字庫文件,建議在初始化中調用,比較耗時

self.dm.setDict(0, "C:\Users\Li\Desktop\help\data\num.txt")

# 使用字庫

self.dm.useDict(0)

def ocr(self, x1, y1, x2, y2, color_format, sim=0.9):

"""

文字識別

- Args:

x1 (int): 左上x

y1 (int): 左上y

x2 (int): 右下x

y2 (int): 右下y

color_format (str): 偏色列表

sim (float): 相似度,范圍 0.1-1.0

- Return:

識別的字符串

"""

return self.dm.Ocr(x1, y1, x2, y2, color_format, sim)這樣就完成了python調用大漠插件識別文字的操作。

總結

以上是生活随笔為你收集整理的python识别文字软件_使用Python和大漠插件进行文字识别含软件源码的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。