首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python 学习手册
Python Cookbook
Python 基础教程
Python Sites
PyPI - Python Package Index
http://www.simple-is-better.com/
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
V2EX  ›  Python

open-cv 的问题

  •  
  •   struggle001 · 56 天前 · 1682 次点击
    这是一个创建于 56 天前的主题,其中的信息可能已经有所发展或是发生改变。

    cv2.imwrite 写到一个文件,在读出来,验证码不能有效解析,cv2.imshow,打开另存为,用后三行代码就可以解析......

    def __getstr(self):
            if self.zb:
                tmp_image = self.img_rgb[self.zb[1]:self.zb[1]+ self.h + 10, self.zb[0]:self.zb[0] + self.w*2 + 10]
                cv2.imwrite("tmp.png",tmp_image)
                tmp_image = cv2.imread("tmp.png")
                text = pytesseract.image_to_string(tmp_image)
                print(text)
    
    7 回复  |  直到 2019-08-26 11:12:40 +08:00
        1
    douglas1997   56 天前 via iPhone
    写之前看一下数据类型,读完再看一下
        2
    Hconk   56 天前 via iPhone
    之前遇到过类似的问题,直接识别效果不行,存成 jpg 再读出来就好了,为了防止写文件就用 imencode 成.jpg 然后再 imdecode 回来就正常了,没细究原理,回头再研究下。
        3
    sadfQED2   56 天前 via Android
    你指定 psm 试一下,另外,最好用 tesseract(好像是这个名字)替代 pytesseract,pytesseract 的实现是把图片保存到临时文件,然后用命令行调用 tesseract 识别
        4
    sadfQED2   56 天前 via Android
    保存用 PIL,指定 dpi,opencv 保存没有 dpi 信息,可能有影响
        5
    struggle001   56 天前
    @sadfQED2 指定 text = pytesseract.image_to_string(tmp_image, config='--psm 7')问题已经解决了
    @Hconk 已经 cv2.imwrite()成 png,之后在读出来了。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4135 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 23ms · UTC 09:37 · PVG 17:37 · LAX 02:37 · JFK 05:37
    ♥ Do have faith in what you're doing.