本科阶段最后一次竞赛Vlog——2024年智能车大赛智慧医疗组准备全过程——9二维码识别
上期我们已经完成了寻迹这个子任务,接下来就是二维码这个识别子任务
对于二维码识别,网上的教程铺天盖地,比如opencv,ros中也有识别结点,还有一些野生第三方的库,当然这些的识别效果有好有坏,今天给大家带来我琢磨好久的二维码识别——应用微信识别API。
1.API使用
使用下面Detector类进行封装一个识别类
代码中使用到的模型文件已经以附件形式上传
class QRCodeDetector:
def __init__(self):
self.depro = './config/detect.prototxt'
self.decaf = './config/detect.caffemodel'
self.srpro = './config/sr.prototxt'
self.srcaf = './config/sr.caffemodel'
def detect(self, img):
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
detector = cv2.wechat_qrcode_WeChatQRCode(self.depro, self.decaf, self.srpro, self.srcaf)
barcodes, points = detector.detectAndDecode(gray)
for qrcode_info in barcodes:
return qrcode_info
return None
2.运行结果
对于上述情况在静止状态,整个赛道的0.6场就可在无遮挡的情况(运动低速情况需就延长到0.7左右了)下直接识别到二维码。话不多说上效果

3.讨论
对于静止在0.6场次识别到以及低速情况在0.7场次识别到,这对于当年赛题识别就可上位机接管可以说节约好多时间。
但是尽管这样在速度提上来的时候还是会出现运动模糊的问题,所以是否能够保存最近几帧,能否提前在某几帧模糊的地方找到能够识别到的,是否可以使用重构,使用高斯去噪根据颜色范围重构二维码,当然这也是一笔计算CPU开销,以上仅仅是个人见解,在最后比赛时候,采用先提速后降速可以在一定程度减少这种影响,欢迎各位大佬在评论区进行讨论指导~~~
4.总结
对于二维码识别这个子任务,我试过好多库,最后对比发现其实微信二维码的识别还是处于很准确的,虽然有运动模糊的问题,但是低速情况下的超远识别还是很牛的,不知道有无大佬能够分享下处理办法。
969

被折叠的 条评论
为什么被折叠?



