在python中从数据库读取图像

时间:2019-02-28 16:50:59

标签: python database image-processing

我用python写了一个代码,我从计算机上获得了图像作为对象,现在我想从MySQL数据库中获得该图像。知道我该怎么办吗?

这是我在连接数据库之前获取图像的代码,我从文件夹中读取图像作为对象:

import json

data = json.loads(response)

ipv4 = data['interfaces'][0]['ipv4']

我想做同样的事情,但是现在从我的数据库中开始,这是所需图像的表。

  

表:项目

     

project_name:varchar(25)(主键)

     

图片:longblob不为空

任何想法我该怎么做,谢谢?

1 个答案:

答案 0 :(得分:0)

我对python不熟悉,但是您的问题困扰着我,所以我做了一些研究以了解事情是如何工作的,反正我还是这样做了:p
 
我希望这是您正在寻找的答复。这就是我刚才做的例子。

连接到数据库,下载文件并最后打开它

进口:

    import mysql.connector
    from tkinter import *
    from PIL import ImageTk, Image

连接到数据库:

    mydb = mysql.connector.connect(
     host="localhost",
     user="root",
     passwd="",
     database="mydb"
    )

选择图像并获得结果:

    mycursor = mydb.cursor()
    mycursor.execute("SELECT image FROM project")
    myresult = mycursor.fetchone()
    blob = myresult[0]

根据查询结果创建文件:

    with open("filename.png", 'wb') as file:
        file.write(blob)

最后用Tkinter打开它:

    root = Tk()
    img = ImageTk.PhotoImage(Image.open("filename.png"))
    panel = Label(root, image = img)
    panel.pack(side = "bottom", fill = "both", expand = "yes")
    root.mainloop()