Graphics 如何在二维码中找到计时信息?

Graphics 如何在二维码中找到计时信息?,graphics,qr-code,image-recognition,Graphics,Qr Code,Image Recognition,假设我有一个二维码,我将如何查找时间信息(从而确定码的版本和大小) 当我检测到一个代码时,我会寻找三个暗方块,即对齐信息。然后我可以对图片进行变形,使图片笔直,所有边缘和模块大小相同,方向正确。下一步是查找定时信息,以便开始解码代码。但是我怎么找到它呢?我不知道在这一点上一行有多少个模块,因此,我不知道确切的位置。如何检测定时线 请注意,我不能使用库来解码图片信息。其目的是识别图片信息。有许多方法可以估计模块大小 根据发现者的1-1-3-1-1环模式进行估计 如果你相当准确地知道它们的位置,那么

假设我有一个二维码,我将如何查找时间信息(从而确定码的版本和大小)

当我检测到一个代码时,我会寻找三个暗方块,即对齐信息。然后我可以对图片进行变形,使图片笔直,所有边缘和模块大小相同,方向正确。下一步是查找定时信息,以便开始解码代码。但是我怎么找到它呢?我不知道在这一点上一行有多少个模块,因此,我不知道确切的位置。如何检测定时线


请注意,我不能使用库来解码图片信息。其目的是识别图片信息。

有许多方法可以估计模块大小

根据发现者的1-1-3-1-1环模式进行估计

如果你相当准确地知道它们的位置,那么实际上在搜寻者之间有一套定时模式。只需遍历像素并计算白色和黑色区域的平均长度


ZXing的估计有点粗糙,但效果相当好。在某些情况下,它会产生一个错误的估计值,而遍历计时器模式可能会消除这个估计值。但是ZXing的常见用例是一个实时图像流,一个错误的估计并不是什么大问题。

我刚才说的是对齐模式(三个大点)之间的时间模式。问题是,一旦我找到对齐模式,我如何找到该模式?我应该检查定位环的环尺寸吗?是的,我会这么做。根据finder模式进行一些初始估计,然后通过计时标记进行确认/细化。理论上,你可以做更多的信号处理工作,比如寻找最高频率,也就是最小的模块大小,但这会相对迅速地变得复杂,而且不清楚简单的启发式方法是否能充分发挥作用。