seglink可以检测图像里各种倾斜弯曲的一排文字,最近想找一个已经实现好的project调试调试,然而github上翻来翻去只有几个,而纯python的就这个大神做的版本了,贴个地址:
https://github.com/dengdan/se... 但是大神做的是python2 + opencv 2,跟我需要的版本不符合,所以需要改很多内容,调试也是一把辛酸泪,这里把python 3版的seglink调试过程写一下,让大家以后少走弯路。
1.环境配置
我是pycharm + anaconda, 这一套可以为每个工程配置一个virtualenv,不需要自己再费心费力的配置virtualenv了。这个project需要用到tensorflow和cv2,可以很方便的在pycharm中安装,anaconda也已经自带了很多包了。
然后是作者自己写的pylib这个包,需要1)加到project里 2)加到 这个虚拟环境 的PYTHONPATH中。注意不是去配置系统的PATH,我是很小白地改系统环境改了很久,最后发现是这个意思,浪费了一整天真是坑。下图是添加这个project环境的步骤和方法:
*
需要特别注意的是作者这个链接直接下下来的pylib是python2适用的,点pylib点进去另一个github项目有一个很贴心地python3版pylib,这个一定要小心!
2.需要下载的dataset和model
有两个dataset需要下载,github里面给了链接。我下载的是seglin-384模型和ICDAR2015 dataset。注意数据集下载的时候要先注册,是challenge4
3.Python 2 to 3
本来想直接用自带的2to3 lib来进行转换,但是没找到Mac装的python3的Tools这个文件夹,只能手动修改。这个有待以后研究了。手动修改主要是 1)print 加上括号 2)xrange改为range 3)import同一文件夹内的其它py文件,原来的直接Import会报错,需要用from xxx import xxx的方法 4)nets文件里的几个需要自己修改,这里net_factory.py需要修改一下传入参数:
4.其他修改
其它可以参考这篇文章修改https://unordered.org/timelin...
注意一个cv2需要改为cv3版本的方法,以及在testSeglink.py中正确填写图像路径和模型路径。