首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何检测图像中的二维码图案?

如何检测图像中的二维码图案?
EN

Stack Overflow用户
提问于 2014-06-10 16:32:55
回答 1查看 15.8K关注 0票数 8

我正在研究QR探测器代码,我需要在图像上定位查找模式(FP)。我已经创建了一个二进制模板,类似于您在QR码角上找到的方块,如下所示:

代码语言:javascript
运行
复制
FP = ones(9);
FP(2:8,2:8)=0;
FP(3:7,3:7)=1;
FP(4:6,4:6)=0;
figure;imshow(FP)

我已经尝试使用xcorr2在图像中查找与此模板具有最大相关性的点。我的问题很明显:与QR码在图像上的实际大小相比,我的模板非常小。

有没有一种方法可以在不调整大小的情况下寻找图案/蒙版?有没有其他方法来解决这个问题?

作为一个例子,这里有一个二维码的图像

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-10 18:09:31

您不需要使用xcorr2。您应该使用扫描线在1d中寻找1:1:3:1:1 (暗-亮-暗-亮-暗的宽度)的图案。

the standard的第60页对参考检测算法进行了说明。

此外,ZXing是一个实现二维码检测/识别的开源库。您可以查看他们的代码以供参考。

编辑:在每条扫描线上,对随后的深色和浅色像素进行计数。您将获得表示序列长度的整数列表。

然后从最大的暗子序列开始,看看它的侧面。如果暗子序列长度为300,则其相邻的亮子序列的长度应为50-150,其相邻的暗子序列的长度也应为50-150 (这是由于标准中提出的0.5的公差)。

因此,如果找到这样的序列,则将其标记为大小为300。然后尝试下一个最大的暗子序列,依此类推。

为了清楚起见,上面的方法应该用来找到3个标记的角落。

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24136345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档