将捕获的网络摄像头图像存储到 mysql 数据库中

问题描述 投票:0回答:0

我正在尝试将捕获的网络摄像头图像存储到 mysql 数据库中。 我已经尝试捕获图像并且它正在工作,图像保存在我的本地文件夹中。 但是当我试图连接到我的数据库并将图像存储到 mysql 时,它给出了一个错误。 我希望将图像保存为 LONGBLOB(我已经做过研究,我认为这是我进一步工作的最佳选择) 很抱歉,我不能显示完整的代码,因为它很长,但这是必要的部分:

import mysql.connector

MyDB = mysql.connector.connect(
    host = "localhost",
    user = "root",
    password = "0000",
    database = "construction2022db"
)

MyCursor = MyDB.cursor()

if cv2.waitKey(1)%256 == 32:
                img_name = "hardhatviolation_{}.png".format(img_counter)
                cv2.imwrite(img_name,pred)
                print("!!!!!!!!!!!!!!!!!!!ss taken!!!!!!!!!!!!!!!!!!!!!!!!")
                img_counter+=1

                sqlstatement = "INSERT INTO coba (id, time, rule, branch, picture) VALUES (NULL, '2022-09-26 00:00:00', 'not wear hat', 'ZT', %s)"
                MyCursor.execute(sqlstatement, pred)   
                MyDB.commit()

错误是:

Traceback (most recent call last):
  File "C:\darknet-master\usbcam_rule.py", line 547, in <module>
    check_rules.check_allrules_rtsp()
  File "C:\darknet-master\usbcam_rule.py", line 474, in check_allrules_rtsp
    MyCursor.execute(sqlstatement, pred)
  File "C:\Users\jesphine\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\mysql\connector\cursor.py", line 595, in execute
    if params:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

感谢任何帮助!

我试着看了一些文档,我希望我捕获的网络摄像头图像可以存储到mysql中,结果是我只能将捕获的图像保存到本地文件夹中。

python mysql opencv mysql-connector
© www.soinside.com 2019 - 2024. All rights reserved.