如何使用OpenCV在Python中扫描二维码数据并将二维码数据存储在MySQL中

2024-06-01 20:47:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python和Qt Designer制作一个应用程序,其中包含一些与QR码相关的操作。我面临的问题是在Mysql数据库中扫描和存储扫描的二维码数据。首先,QR码通过视频捕获帧进行扫描,但扫描数据在控制台中重复打印。然而,主要问题是我需要将扫描的二维码值存储到我的数据库中,因为它是用于进一步操作的唯一id(主键)。我不知道OpenCV的库和功能,所以我完全不知道如何继续。 我的代码的一小部分,它正是我在将输入数据字段中的数据存储到数据库时引用的,并尝试将其应用于二维码数据

 def scan_qrcode(self):
    
    cap = cv2.VideoCapture(0)
    while True:
        _, frame = cap.read()
        decodedObject = pyzbar.decode(frame)
      
        for obj in decodedObject:
          print('Data',obj.data)
        cv2.imshow("QR scanner",frame)
        key = cv2.waitKey(1)
        if key == 27:
          break
        self.connection = mysql.connector.connect(host="127.0.0.1", user='root',
                                              password='root',database='mydb') 
        self.cursor = self.connection.cursor()        
                                                                                            
        self.cursor.execute("INSERT INTO qrcode(id)"
                              " VALUES ('%s')" % (decodedObject[0]))
                                                     
                                                                                                                                                                                                                            
        self.connection.commit()
        self.cursor.close()
        self.connection.close()

Tags: 数据keyselfid数据库objconnectioncv2