用python从数据库中读取图像

2024-09-24 16:31:18 发布

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

我用python编写了一个代码,我从我的计算机中得到了一个对象的图像,现在我想从MySQL数据库中得到这个图像。你知道我该怎么做吗?你知道吗

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

segimg = Image.open("result1.png") 
segimg = segimg.convert("RGB")

我想做同样的事情,但现在从我的数据库和这里是所需的图像表。你知道吗

Table: project

project_name: varchar(25) (primary key)

Image: longblob NOT NULL

知道我该怎么做吗,谢谢?你知道吗


Tags: 对象代码图像imageproject文件夹数据库convert
1条回答
网友
1楼 · 发布于 2024-09-24 16:31:18

我不熟悉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()

相关问题 更多 >