V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ungrown  ›  全部回复第 1 页 / 共 63 页
回复总数  1258
1  2  3  4  5  6  7  8  9  10 ... 63  
2 天前
回复了 zictos 创建的主题 Python Python 识别图片文字的效果是不是很差?
@ch2 #59
tesseract 单就字符识别这块其实不算落后,它只是没有对输入的图像进行很强针对性的预处理,这活交给用户了。
很多现代的 ocr 工具都是杂糅了大量的图像处理、内容分块、排版识别、以及字符处理,运算量极大,多数都是依托于机器学习、深度学习的,不上显卡的话运算速度非常慢。
然后这类新式工具如果要加几个特别的字符的话,就得重新训练一个模型出来。扩展性这方面 tesseract 反而方便得多。
tesseract 就是功能比较少、比较基础,很多字符识别之外的事情得用户自己做。
2 天前
回复了 zictos 创建的主题 Python Python 识别图片文字的效果是不是很差?
OCR 这东西我上半年摸鱼玩了一会儿,也是拿 python 写的代码(基本只会这个语言目前),也是着重尝试了 tesseract 。
我个人觉得 tesseract 还是很不错的,性能也好,扩展性也好。不过就是对输入图像的要求有点高,需要预先处理一下,我当时也趁着这个机会玩了玩 opencv 里面的二值化,平均权重、高斯权重窗口之类的。
只要对图像进行合理的预处理,效果还是很好的。其实现在很多不管是开源还是商用闭源的 OCR 库,也都是在输入图像的预处理、和识别模型这两个方面同时下手,单抓一手的效果是不尽如人意的。
tesseract 的模型其实一直在更新迭代,版本号也一直在动。说它落后是不对的,只能说它是个很基础的工具,要想用 tesseract 实现更好的效果需要自己额外做一些工作。
我不是机器学习、人工智能之类的科班出身,不过能确定的是 tesseract 的引擎也是神经网络,长短期记忆 LSTM 。
我当时玩下来的经验是,喂的图像得够干净,最好是白底黑字的二值图,或者浅色底深色字符,如果深色底色的话识别效果会明显劣化。完事噪声一定要少,不管是噪点、摩尔纹、还是大片的强光。
图像预处理的时候最好分区块,除非是电子文档的截图,否则总会有不同内容的区块互相干扰,哪怕同样是文字区块,亮度颜色如果不同也不能用相同的方法和参数来处理。
但即使得到了黑白分明字符清晰的二值图,依然是不够的。tesseract 并不能很好地识别各种段落结构、表格结构、复杂排版,它只能应付相对简单的(也有不小的出错概率)。所以最好是先识别出小的文字区块单元,把整个“文章”打散,变成单行、单词。这个可以用 tesseract 自带的接口,也可以用其他什么算法工具,反正只要把所有的字符区块和对应的坐标提取出来,后面只要把这些区块批量识别,再重新按照坐标把结果区块拼起来就行。
思路就是这么个思路,其实其他 OCR 库也基本上是这个套路,去噪、归一、化整为零。
至于 easyocr 和 paddleocr 这种,我也试用过,准确率和适应性确实比 tesseract 好上不少。不过这类工具一般都是机器学习 /深度学习的范畴,虽然也是神经网络为内核,但一般对算力要求更高,得上显卡,否则纯靠 CPU 算就很慢,明显比 tesseract 要慢得多。我手头的二手闲鱼本,4 代酷睿 2C4T 的 CPU ,用 opencv+tesseract 处理一帧 640x480 的图像差不多 300ms 左右,用 easyocr 需要 1 、2 秒,用 paddleocr 得要 5 、6 秒。我当时拿我自己写着玩的代码,python+OpenCV+tesseract ,基本可以在这个分辨率下“实时”显示摄像头中的文字了,而且是窗户阳光直射下,文字媒介表面不平整(键盘上的字,饮料瓶身贴纸),虽然有不少错误识别,但至少画面移到哪儿,一眨眼的功夫就能在命令行里看到对应的文字。换用 easyocr 和 paddleocr ,得等“半天”,而且同样有不少错误(当然比 tesseract 少一些)。
OCR 这个东西虽然算是“半成熟”的技术了吧,但还远没有完整。很多开源项目还在发展,还有很多公司已经在用自己改进的半成品在赚钱了,更有大型企业组织在积极推动底层关键技术。这里面的门道很多,水非常深。如果只是自己玩玩或者要求不太严格的应用的话,请善用他人智慧成果和“权宜之计”,真想短时间做个“尽善尽美”的东西出来是做梦。
@ClericPy #13
> 大哥... 你让我在上班期间打开了一个本来不该打开的网站.......
我还特意提了一下这些大多是涩图站,不过确实不够着重。
不过 danbooru 这个还好哦,算口味清淡的了,关得够快的话别人顶多以为是个二次元图站。
要 SFW 的话,刚刚搜了一下,safebooru ,这个不涩。
@JustRookie #7
我在用的这个笔记本,二手的老本,就偶尔会莫名其妙蓝屏,报错也是内存管理。
我很久前就怀疑是内存条有毛病,于是就重启跑内存测试,跑了三四遍也没见查出错误。见鬼了?于是狠下心跑了一整个晚上,第二天看屏幕,十几遍就查出来一个错。
我思忖片刻,决定默默地无视这个结果,急需凑合用着。就这么一直用到现在,依然会隔一两个月,就毫无征兆地蓝屏。不过我是从不关机也不休眠,基本上只睡眠,估计每天都关机重启的话,兴许还不会蓝屏。
5 天前
回复了 lslvxy 创建的主题 NAS 求推荐一个家用的微型服务器
@TimPeake #92
Owner of the Post
可是这样一个“虚拟机”,它必然是要求很多权限的啊,不然它怎么确保里面安装的应用可以获取所需的权限呢?又不能等到里面的应用申请权限的时候再由虚拟机来传递,这个虚拟机也只是个普通的应用。而应用所需要的权限是在设计的时候就由代码决定的,发布后的应用需要哪些权限那就是需要哪些权限,又不会临时多一个需求,顶多在安装时安装后不给它某些权限,只能关,不能不让它提。
这不就是各大 booru 站点吗。
booru 站点就是 danbooru 这一类 imageboard 网站,即贴图讨论版,内容其实包括图片、视频、wiki 等。由用户上传内容,文件直接按照 hash 命名存储 /去重,额外标记元数据,让用户自行打标签,在此基础上实现内容的审查、发布、搜索、访问、排行榜、推荐。
甚至这套建站模板都是开源的,更有魔改和变种,很多涩图站都是这种(瑟琴果然是第一生产力
@Accessing #12
python 能发展起来其实跟它一开始的定位和特点还是分不开关系的。强类型、动态类型、易于扩展的 C 接口、简洁的语法……讲真,如果真的仅仅是为了写个脚本,这个语言没必要具备这些属性,显然 python 的创始人从一开始就考虑了很多。
论优劣,在不考虑计算性能的情况下,python 在应用上和主流语言打得有来有回。即便考虑性能,如今的借助 cython 、JIT 也能把 python 的性能提高一两个数量级,几乎能摸到 C 的脚后跟了。而以“性能”为代价换来的,是无比简洁的语法,是明显更少的代码量和开发成本。
python 门槛低上限高,易学易用。在“上得了台面”、“赚得了名利”的场景以外,python 还在各行各业被用来写各式各样的脚本、工具包,帮助人们提高效率、方便工作、享受生活。真心的,哪怕就算 python 在商用领域绝迹,甚至不能拿来谋职,这个语言依然会被无数人拿来写各式各样的工具,尤其是那些“低含金量”的应用场景,是其他主流语言难以覆盖的。
python 作为当今最强胶水,有着如同菜市场般热闹的生态,这种“勃勃生机、万物竞发”的境界,真的和它易学易用、无限可能的秉性是分不开的。
5 天前
回复了 dangyuluo 创建的主题 Linux 想知道应该用 LVM 还是 ZFS? 以及最佳实践
Linux 下面,根目录尽量别用 ZFS ,其他随意。因为 ZFS on Linux 还没有稳定到那个程度,而且就算不考虑稳定性,如果根目录是 ZFS 的话相当于整个启动过程多依赖了一个复杂组件,在出问题的时候增加排错成本。
ZFS 确实挺好用的,本身也具备 RAID 这种形式,灵活又方便。能用就用,利大于弊,根目录除外。
9 天前
回复了 Ives 创建的主题 宽带症候群 广州移动半夜 qos
移动家宽就是半夜强 QoS ,我这江苏也是如此。其实现在算好了,以前到了晚上就不行了。不过我也一直没想明白为什么大半夜这种谷期要限流,也许是防止有人专门趁晚上跑流量?也许是和国外服务商签订的合作协议是节省成本的分峰谷的然后就选深夜作为限流谷期?
老生常谈的问题,一句话总结就是尽量不要长时间通过 USB 连接硬盘,这种方式稳定性差,更容易出问题,不仅仅是供电是否功率充足电压稳定的事情,USB 协议的驱动程序本身就更需要 CPU 频繁地中断介入、更吃算力、更容易出现 bug 现象。
9 天前
回复了 Tilie 创建的主题 宽带症候群 有靠谱些的水晶头工具吗
这东西也难弄?我也就家里布线的时候做了十几个头子,后来就没需求了,当时买的钳子和一堆水晶头也都闲置着。水晶头不贵就那种平价的一包几十个,钳子也是那种属于“不算差”的档次吧。我当时觉得还挺好弄的,印象里面真正被我弄坏了的也就一个,剩下大多数都一次“成功”。我一开始费了老大劲做出一个头子,越看越别扭,想重做,但又怕麻烦,就硬着头皮测了测,发现居然没啥问题,于是后来胆子越来越大,手艺也就慢慢好了些,也就熟练了。也是六类线,六类线确实硬,外加里面还有一根十字骨架,剥线和理顺线芯的时候确实很费力气,说实话手指头都疼,不过也就那样。
9 天前
回复了 lidongyooo 创建的主题 程序员 ffmpeg 音频位置识别
呃,这个真的是 FFmpeg 的功能么
9 天前
回复了 ChrisFreeMan 创建的主题 Python Python 版 switch 尝鲜
@hutoer #1 python 的性能一时半会儿上不去,应该是供需两方都不太上心。
需求就不太强烈,几乎一半的场景都是 IO 密集型,甚至都不在乎所谓的性能和全局锁,剩下的几乎就是拿 python 来写“超脚本”,还有些是临时拿 python 写个原型验证一下算法和流程,打一开始就准备之后拿 C 之类的高性能语言重写。
供给侧的问题主要还是围绕在“动态类型”这个点上,动态类型不做 JIT 的话就快不起来,做了 JIT 的话性能基本就没啥短板了,pypy 已经证明了。无非这个 JIT 不容易做,和 C 接口犯冲,而 C 接口是 python 扩展性的基石,当然这个并不是没法做,只是优先级不高,进展慢。
其实真遇到需要运算速度的场景,直接把功能提取出来,用 C 或者 cython 写个模块不就行了。
15 天前
回复了 abbottcn 创建的主题 Linux 一个头痛的 ipv6 ssh 故障...
我也觉得 B 肯定哪里不对劲,可能硬件可能软件。
另外,别以为设置了对照变量,重复了多次,就不会因为随机性引起假象而做出误判,我收藏夹里就有一个笑死人的 https://www.bilibili.com/video/BV1qq4y1T7Eu
另外,凡是遇到这种“灵异”的问题,如果可以绕开或者可以替代的话,请毫不犹豫的选择绕过它,大家都是常年折腾的经验丰富人士,应该明白很多事情就算搞明白了也只会抽自己大嘴巴或者哭笑不得。
15 天前
回复了 cindy00 创建的主题 Android Android 防定位造假的策略都有哪些呢??
@ljmsun #28 说实话我一直没搞懂这种靠地理信息来判断出勤的打卡是什么奇葩需求,打卡不就应该且必需真人到场吗,为什么让一台手机的位置来代替真人的位置?这逻辑上就说不过去啊?
15 天前
回复了 liu1996 创建的主题 程序员 关于 socket 的一些问题
@CRVV #10
咱非得这么咬文嚼字吗?就算要嚼,就不能先放宽对语义的要求,把关联性讲完了,再补充说明“问题中各概念间的不对等性”吗?

套接字是接口,HTTP 是协议,这俩是两个“象限”的东西没错,但真就一句“更没关系了”这也太不负责任了。
HTTP 算是应用层协议,TCP 是位于更底层的传输层协议。实现 TCP 的库提供了套接字的调用接口,实现 HTTP 的库大多数也依赖于这些接口。楼主想问的不就是这方面的信息吗?
15 天前
回复了 liu1996 创建的主题 程序员 关于 socket 的一些问题
一个基础概念的问题,炸出来一堆平时只顾干活却从来没把基本原理整明白的水货
15 天前
回复了 robot9 创建的主题 Windows Windows 11 内存泄漏
@selca #6
@3dwelcome #8
缓存的部分和程序实际占用的部分是明显分开来的,不管是 Linux 下面,还是 win 的任务管理器里面。任务管理器里面显示的占用数值是所有程序的总实际占用,缓存部分不计在内。
29 天前
回复了 WillShin 创建的主题 Windows windows 11 难以忍受之处汇总
@cmdOptionKana #6 没疯,故意的,试探。用户能忍得住,那以后这就是基本操作了,忍不住再说。
至于为啥这么搞,因为这年头硅谷风气不正,越来越多的企业这样搞或者露出想这么搞的苗头,微软怕自己到时候被劣币逐良,为了体现它的先进性和进取心,它决定自己提前劣化。
然后正好微软臃肿的内部部门间互相倾轧,眼里只有 KPI 的阿三们十分乐意这么搞。
1  2  3  4  5  6  7  8  9  10 ... 63  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1305 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 23:29 · PVG 07:29 · LAX 15:29 · JFK 18:29
♥ Do have faith in what you're doing.