1. 程式人生 > >python批量讀取圖片,存入mongodb資料庫

python批量讀取圖片,存入mongodb資料庫

我的圖片放在E:\image\中,然後使用python將圖片讀取然後,顯示一張,存入取一張(可以註釋掉顯示圖片的語句),通過Gridfs的方式存入圖片。程式碼如下:

# --* coding=utf-8 *--
from cStringIO import StringIO
from pymongo import MongoClient
import gridfs
import os
import matplotlib.pyplot as plt
import matplotlib.image as iming
import bson.binary
import numpy as np
if __name__ == '__main__':
        connect = MongoClient('127.0.0.1', 27017)  # 建立連線點
        db = connect.mydb
        print db.collection_names()
        imgput = gridfs.GridFS(db)
        dirs = 'G:\image'
        files = os.listdir(dirs)
        for file in files:
                filesname = dirs + '\\' + file
                print filesname
                imgfile=iming.imread(filesname)
                # iming.imsave('s.jpg',imgfile)
                # print type(imgfile),imgfile
                # imgfile.shape()
                plt.imshow(imgfile)
                plt.axis('off')
                plt.show()
                f=file.split('.')
                print f
                datatmp=open(filesname,'rb')
                data=StringIO(datatmp.read())
                content=bson.binary.Binary(data.getvalue())
                # print content
                insertimg=imgput.put(data,content_type=f[1],filename=f[0])
                datatmp.close()