sikulix——ocr 布满荆棘的人生 2022-06-05 23:38 313阅读 0赞 ocr的意思是识别图片中的文字,目前国内的话,有百度ai提供的服务,但是是收费的。国外有开源的tesseract。sikulix上帝之眼也支持ocr,底层是tesseract的实现。这两者都是免费的。 sikulix的ocr搭建比较坑,这里记录一下踩过的坑。应为ocr并不是直接安装好就可以用,这里试了好久才发现如何搭建才能正常使用 1、如果之前安装了sikulix但是没有选择ocr,删除C:\\Users\\Administrator\\AppData\\Roaming\\Sikulix之下的所有文件 2、重新安装,选择IDE,或者java插件再选择ocr,单独选择ocr是无法安装的。 3、安装好后,进入到C:\\Users\\Administrator\\AppData\\Roaming\\Sikulix\\SikulixDownloads文件夹下,解压字库文件tesseract-ocr-3.02.eng.tar.gz 4、新建C:\\Users\\Administrator\\AppData\\Roaming\\Sikulix\\SikulixTesseract\\tessdata文件夹 5、将第三步解压的字库拷贝到第四步的文件夹中 6、这个时候可以识别出英文和数字了,但是想要识别中文,还需要下载中文字库,下载完后更新文件名为eng.traineddata,拷贝到相应的文件夹中 最后举一个例子 public static void main(String[] args) throws Exception { long time = System.currentTimeMillis(); Screen screen = new Screen(); Region addressListRegion = new Region(736, 273, 256, 20); ScreenImage addressListImg = screen.capture(addressListRegion); Settings.OcrTextSearch = true; Settings.OcrTextRead = true; System.out.println(TextRecognizer.getInstance().recognize(addressListImg)); System.out.println(System.currentTimeMillis()-time); } 可惜的是,目前对中文的支持不是太好,这需要进行大量的训练。毕竟人工智能建立在数据的基础上。相信百度的小度机器人也是进行了大量的训练。
还没有评论,来说两句吧...