【发布时间】:2014-12-22 12:10:44
【问题描述】:
我已经扫描了纸币副本,我只需要从中提取矩形纸币。 尽管扫描的副本背景非常空白,但笔记本身可以正确旋转或对齐。我正在使用matlab。
示例输入:
示例输出:
我尝试使用阈值处理和 canny/sobel 边缘检测无济于事。 我也尝试了here 给出的解决方案,但它会检测到整个图像进行裁剪,并且不适用于旋转图像。
PS:我的主要目标是确定货币的面额。我认为我可以使用以下几种方法:
- 基于颜色,因为所有纸币都有不同的原色。 这种方法的优点是它独立于 输入图像的旋转或缩放。
- 检测纸币左下角的黑色小三角形。这个造型很独特 对于每个面额。
- 计算 2 张图像之间的差异。由于这是一个小型项目,所有输入图像都将具有相同的 dpi 和分辨率,因此,一旦对齐,输入图像与真实图像之间的差异就可以给出粗略的估计。
您认为哪种方法最可行?
【问题讨论】:
-
如果每种货币都有自己的颜色,那么就选择基于颜色的,看起来是最强大的一种。如果你这样做,你甚至可能不需要裁剪图像!
-
我是这么认为的。但是我可以使用其他方法作为比较研究来显示这些方法之间的准确性差异。有什么想法吗?
-
好吧,你可以这样做,那将是一个很好的项目;)。关于取出白色:尝试您链接的方法(即使是旋转图像)。如果您检测到 4 个角,您可能可以在移除几乎所有背景后旋转图像。
-
好的。我使用了阈值处理、中值过滤器和轻微裁剪来得到这个:imgur.com/dGnq07ZHow do find the angle to which to rotate the boundary box?
-
成功了吗?你试过我的答案吗?
标签: matlab image-processing crop image-segmentation edge-detection