2

我是图像处理的新手。我有扫描仪输出的bmp格式和.bin文件图像。bin 文件具有hex值或原始数据。

首先我会解释这个过程。我们使用 13 位数字。每个数字都有一个以点格式表示的模式。比如说,一个 13 位数字将有 20 个点。每个点的位置取决于数字。这是encryption部分。现在这些点被重复打印。这些是使用扫描仪扫描的,扫描仪将上述文件作为输出。

下一步是处理这些输出以返回 13 位数字。我正在使用openCVC。有人可以给我一些关于如何做到这一点的想法。我无法发布 bin 文件。但是bin文件的内容是这样的格式:

10 78 84 88 84 84 8c 88 88 8c 8c 90 88 88 8c 8c 90 90 88 90 8c 8c 8c 8c 8c 94 90 90 8c 90 90 94 8c 8c

我添加了应用于图像的精明边缘检测的输出。

在图像上完成的精明边缘检测的输出

提前致谢...!

4

1 回答 1

0

我不是真正的opencv用户。然而,假设你想提取点区域,一个快速的肮脏方法是用精明的边缘检测识别二进制图像中的连通分量。看到这个

标记所有连接的组件后,您可以检查每个组件的循环性

然后对每个连通分量的圆度和/或面积(计算为每个连通分量中 1 的总和)应用过滤器。只有那些通过过滤器的才是你的点。

这可能不是最好的方法,因为合并到外圈上的点可能会被过滤掉,但如果你只关心孤立的点,它原则上应该可以工作。此外,您可能希望适当地对图像进行阈值处理,而不是应用边缘检测

祝你好运

于 2013-05-01T16:26:30.157 回答