关于#二维码识别#的问题,如何解决?

一张二维码图片, python openCV微信扫码直接直接识别,识别不出来。目前思路是先预处理,提取出二维码轮廓,重绘出标准二维码,再识别。或者有什么好的算法

img

你这个码是DataMatrix码。

处理思路:

  1. 图像转黑白
  2. 提取整个码的轮廓正方形,得到新图像
  3. 正方形图像的每条边计算得到格子数,或者你要扫的码是固定长度就直接写死格子数
  4. 对图像的每一个格子进行处理,黑像素多就全设为黑,白像素多就全设为白
  5. 传递给扫码库进行解码(支持这种码制的扫码库有zxing、libdmtx)

或者得到格子后,黑像素多就设1,白像素多就设0,按照DataMatrix码的规则自行编写解码

确实得先预处理提轮廓,我得思路是你可以去了解Canny边缘检测算法,先得找到二维码的位置和角度,openCV有个透视变换可以把图像转换为标准二维码,用二维码解码库对标准二维码进行解码

你这个二维码损坏太多了吧,不管怎么样都没法扫出来