ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 6641|回复: 60

vba提取扫描图片指定右上角的数字!

[复制链接]

TA的精华主题

TA的得分主题

发表于 2022-4-13 23:19 | 显示全部楼层 |阅读模式
本帖最后由 2163kjh 于 2022-4-15 22:34 编辑

说明:有批量的图片(jpg格式)存放在指定文件夹(名称为“图库”),现遍历图库文件夹下所有的图片,提取图片右上角的数字,区域固定的都是在右上角,把这些数字作为名称,将图片重命名为提取的数字。
补充:附件已经上传,发现有的图片里面含有印刷体的标准汉字,可否提取?由于上传限制,把图片剪裁的小点了。
doc01742820220409141218_008.jpg

jpg图片重命名.zip

1.53 MB, 下载次数: 16

TA的精华主题

TA的得分主题

发表于 2022-4-14 07:13 | 显示全部楼层
这个有挑战性,压缩发点原始图上来

TA的精华主题

TA的得分主题

发表于 2022-4-14 07:47 来自手机 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 wanghan519 于 2022-4-14 08:07 编辑

不负责任的猜想:用opencv单色反色,用宽多些高少些的核膨胀,从右上角找第一个高大于多少的轮廓,截取轮廓对应的图片ocr;或查找霍夫线,截取第一条线最右边下面的部分ocr。。。

TA的精华主题

TA的得分主题

发表于 2022-4-14 08:41 | 显示全部楼层
这种类型以前做过,先截图、再识别、再重命名

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-4-14 09:15 | 显示全部楼层
pc_12 发表于 2022-4-14 08:41
这种类型以前做过,先截图、再识别、再重命名

嗯,对,我就是这个思路,先fso遍历文件名字,重命名也会,就是不会截图识别字,论坛查了下可以用office2003自带的 Microsoft Office 文档图像 (MODI)处理这种简单的印刷体的数字,我这个右上角的图片都是印刷体的数字,比较容易识别。当然其他的语言方法都可以,调用百度ocr也可以,vba用自身的识别比较省劲,代码不会写就是

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-4-14 09:16 | 显示全部楼层
约定的童话 发表于 2022-4-14 07:13
这个有挑战性,压缩发点原始图上来

好的,我找些素材发上来。

TA的精华主题

TA的得分主题

 楼主| 发表于 2022-4-14 09:20 | 显示全部楼层
wanghan519 发表于 2022-4-14 07:47
不负责任的猜想:用opencv单色反色,用宽多些高少些的核膨胀,从右上角找第一个高大于多少的轮廓,截取轮廓 ...

您说的这个,绝对高大尚,但是对vba初级小朋友来说,难度太大了。不过这个思路是绝对正确的,大神级别的应该这样子搞。

TA的精华主题

TA的得分主题

发表于 2022-4-14 09:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
2163kjh 发表于 2022-4-14 09:20
您说的这个,绝对高大尚,但是对vba初级小朋友来说,难度太大了。不过这个思路是绝对正确的,大神级别的 ...

免费的百度识别,有用弄那么麻烦了,图里没有其他XXXX-XXXX的文字,识别完直接正则就可以了。前几天wodewan大神发了一个免费无需注册的百度识别,下载下来就可以直接用了,还有精准版定位识别位置的功能,可能 正则都不用。

TA的精华主题

TA的得分主题

发表于 2022-4-14 09:29 来自手机 | 显示全部楼层
把图片插入到工作表、区域截图、然后用百度ocr识别就可以、已经有大神分享过没有token的百度OCR

TA的精华主题

TA的得分主题

发表于 2022-4-14 11:22 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
本帖最后由 wanghan519 于 2022-4-14 12:27 编辑
tspliu 发表于 2022-4-14 09:26
免费的百度识别,有用弄那么麻烦了,图里没有其他XXXX-XXXX的文字,识别完直接正则就可以了。前几天wodew ...


多谢,搜到了大神分享的接口,感觉前几天错过了一个亿,在wsl里大概是这样:
curl 'https://files-c.excelhome.net/forum/202204/13/231928de9rkjqrrfubfccl.jpg' -H 'Referer: https://club.excelhome.net/' | base64 -w0 | sed 's$^$data:image/jpg;base64,$' | curl "http://ai.baidu.com/aidemo" --data-urlencode 'image@-' --data-urlencode 'type=https://aip.baidubce.com/rest/2.0/ocr/v1/accurate' -H 'Referer: https://ai.baidu.com/tech/ocr/general' | jq '.data.words_result | map(select(.location.left>1200 and .location.top<70)) | .[0].words'



过程是,从当前贴里获得图片,base64编码,发送到百度接口,处理json时只是简单限制了left和top,就可以出结果了。

图片.png
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 20:36 , Processed in 0.041735 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表