如何利用树莓派制作卡片扫描仪

背景
我小时候真的很喜欢交易卡。最近在一个盒子里我发现了很多以前收藏的万智牌卡片,于是我转念一想——我一共有多少张卡片,它们一共值多少钱?手动记录和查找这些需要一段时间,所以我决定看看我是否可以自动化一些过程。而鉴别过程中我使用的是 raspberry pi,并且用乐高构建平台并利用好 aws s3/rekognition!
步骤
使用树莓派、rpi 相机和乐高平台拍摄卡片标题
将图片上传到 aws s3 存储桶进行存储和处理
使用 aws rekognition 从图片中提取文本并针对定价 api 进行查询以获取每张卡的市场价格
乐高
我不擅长木工,如果在外形设计方面使用木工产出,可能会导致项目最终比较粗糙。所以我决定使用乐高来制作项目的外形,并且你可以很容易的买到。这个项目不会展示如何一砖一瓦地建造它,但我会在这里使用过程中所拍下的图片来以达到重现的效果!
这个设计的灵感来自我几年前买的一个便宜的 7 美元卡片分类器。后面的伺服系统能够以简单的齿轮状设置连续旋转并向前移动轮胎。前面的轮子从深绿色部分伸出来​​,是为了防止其他卡片滑出。只有足够的空间一次推出一张卡。我还用了几张贴在一起的卡片来保持卡片足够的重量,以确保只有一张出来。
相机位于距离平台几英寸的一堆砖块上,倾斜的角度与卡片的位置对齐。分辨率已用代码修改以捕获卡的顶部。
硬件
raspberry pi 是这个项目的最佳选择,因为我需要为外围设备运行 python。我们需要的其他东西是两个伺服电机和一个相机。我有一个连接到面包板的 5v 电源 - 不是强制性的,但很有帮助。
编码
代码完全用 python 2.7 编写。一个脚本用于为伺服系统供电并拍照;另一种是针对 rekognition 处理存储在 s3 中的图片。
一旦我们将卡片加载到乐高平台上,我们可以简单地执行以下操作:
python mtg_servo.py 《set_abbreviation》
这将启动伺服系统并扫描卡片。完成后,我们可以退出脚本并加载更多内容。我一分钟能做大约 20-25 张牌。《set_abbreviation》 是卡组的三个字母代码。这有助于我们在图像处理和定价 api 方面保持井井有条,例如“m13”集的所有 .jpg 文件都写入 《current_directory/m13》 路径。
aws s3 和 rekognition
我尝试使用 tesseract 和 opencv 进行 ocr。虽然两者都是很棒的工具,但事实证明 rekognition 更易于使用。它为定位、照明、距离等提供了很大的灵活性。您需要一个免费的 aws 帐户才能执行此操作。亚马逊的 aws 免费套餐非常慷慨——您每月可以处理 5,000 张图片。由于时间原因,我手动上传了 s3 文件(未显示,但这里有一个指南)。s3 存储桶的设置与当前目录 - /set_name/file.jpg 完全相同。下面的屏幕截图显示了 rekognition 的演示版处理一些拍摄的照片。
我们可以自动化这个过程!将所有卡片上传到存储桶后,我们可以运行以下代码将检测到的文本输出到 csv 中:
python rekognize_s3.py 《set_abbreviation》
这是图像处理的结果。如果图片质量更好,我毫不怀疑这会更高。我遇到的另外两个主要问题是 (1) 字体 - 许多字体的字符看似接近我很难破译它们的位置和 (2) 照明。在我扫描的 920 张卡片中:
619 张是准确的 (67.3%)
201 张相比少了 (21.8%)
100 张多了(10.9%)
到此就是最终结果了!

比亚迪投资13亿美元布局印尼汽车市场,筹建汽车工厂
如何判断汽车的电瓶是否需要进行充电
大冲能源致力于高效机房5G阶段的探索和研究
人气火爆的蓝牙耳机推荐,低延迟的蓝牙耳机推荐
满盘电机和半盘电机区别
如何利用树莓派制作卡片扫描仪
你的手机电池可以用多久?这种可以无线充电的电池能用一辈子
中国十大芯片企业有哪些?芯片战争谁是最终受益者
5G节能体系实现5G基站能耗下降30%,中国移动从三层面开展节能工作
高抗干扰LCD驱动IC、LCD液晶段码屏驱动芯片VK1C21C介绍
中美之间的真实差异,中国将在十年之内超越美国
FPC制造覆盖膜加工工艺是怎样一回事情
MU和意法半导体 (ST) 合作开发微型超声诊断仪
中国未来模拟芯片的出路在何方
高田气囊涉事车企增至19家:特斯拉Model S也将召回
热风枪可以用什么代替_吹风机能代替热风枪吗
人工智能越来越发达 但不能脱离束缚
贸泽电子备货Panasonic PAN1780高性能蓝牙5低功耗模块
讨论一款老掉牙的实时时钟芯片DS1302
无线充电道路:梦想还是要有的 万一实现了呢?