扫描硬币,然后从图像中确定日期
Posted
技术标签:
【中文标题】扫描硬币,然后从图像中确定日期【英文标题】:Scanning a coin and then determining the date from the image 【发布时间】:2011-01-07 03:34:57 【问题描述】:我想编写一个 .NET 程序,该程序获取特定硬币类型(例如美国镍币)的图像,然后搜索该图像的年份。假设扫描始终为 300dpi,并且裁剪到硬币的图像尺寸一致。 改变的是硬币的旋转。
那么我该如何确定日期呢? 我应该通过每年创建一个包含所有预期硬币图像的库来进行图像匹配吗? 我应该尝试 OCR 日期吗? 哪些库可能有用
提前感谢您的任何帮助或建议
【问题讨论】:
Jules,你有没有在这方面取得任何进展?我有类似的需求,很想知道你已经走了多远...... 你看过IdentiCoin吗?我认为他们做的正是你想做的。 【参考方案1】:看起来很适合使用OpenCV。如果可能的不同年份的集合不是很大,那么图书馆可能是一个好主意。
【讨论】:
【参考方案2】:良好的图像处理库是 ImageMagick。它有 CLR 包装器in codeplex。
比较图像不是一项轻量级的操作,它需要一些 CPU 时间,因此设计是您的集合中硬币数量的问题。如果 Y 年有 X 枚硬币,则需要进行 X*Y 比较,这可能需要很长时间。
我建议您将硬币与特定硬币进行比较(而不是确切的年份), 然后尝试从输入硬币中提取年份。
【讨论】:
【参考方案3】:您可以尝试使用形状匹配,但是当您为此准备模板时,请从找到的边缘中删除日期。然后使用具有不同旋转(从 0 到 360 角度)的形状匹配。 所以你会得到一枚任何日期的硬币。 但是,如果不仅年份信息不同,您将不得不准备不同的硬币模板。之后,您将能够旋转硬币并在必须写年份的地方制作 OCR。
【讨论】:
以上是关于扫描硬币,然后从图像中确定日期的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV(26)图像分割 -- 距离变换与分水岭算法(硬币检测扑克牌检测车道检测)