Python实现批量读取图片并存入mongodb数据库的方法示例
作者:windblew 发布时间:2021-03-25 01:51:53
标签: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()
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/windblew/article/details/77947096


猜你喜欢
- 字符串是不可变类型,可以重新赋值,但不可以索引改变其中一个值,只能拼接字符串建立新变量索引和切片索引:越界会报错切片:越界会自动修改不包含右
- # -*- coding: utf8 -*-'''Created on 2013-12-19@author: goo
- 一、数据爬取的代码#encoding='utf-8'from selenium import webdriverimport
- SMTPSMTP是发送邮件的协议,Python内置对SMTP的支持,可以发送纯文本邮件、HTML邮件以及带附件的邮件。Python对SMTP
- 最近折腾索引引擎以及数据统计方面的工作比较多, 与 Python 字典频繁打交道, 至此整理一份此方面 API 的用法与坑法备案. 
- 问题keras使用预训练模型vgg16分类,损失和准确度不变。细节:使用keras训练一个两类数据,正负比例1:3,在vgg16后添加了几个
- background-clip 和 background-origin 是 CSS3 中新加的 background module 属性,用
- 最近一直在做Dnn模块的开发,过程中碰到这么一个问题,需要同时插入N条数据,不想在程序里控制,但是SQL Sever又不支持数组参数.所以只
- 一: 删除LOG1:分离数据库 企业管理器->服务器->数据库->右键->分离数据库2:删除LOG文件3:附加数据库 企业管理器->服务器-
- 本人已经在运维行业工作了将近十年,我最早接触Linux是在大二的样子,那时候只追求易懂,所以就选择了Ubuntu作为学习、使用的对象,它简单
- Knockout是一个以数据模型(data model)为基础的能够帮助你创建富文本,响应显示和编辑用户界面的JavaScript类库。任何
- 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自
- 作用:export和export default实现的功能相同,即:可用于导出(暴露)常量、函数、文件、模块等,以便其他文件调用。区别:1、
- 其实我们平时在深度学习中所说的卷积操作,在 opencv 中也可以进行,或者说是类似操作。那么它是什么操作呢?它就是图像的模糊(滤波)处理。
- 前言使用axios可以统一做请求响应拦截,例如请求响应时我们拦截响应信息,判断状态码,从而弹出报错信息。请求超时的时候断开请求,还可以很方便
- 目录类空指向ES6 箭头函数vuetifyvue-cli异步和同步运行和部署TIPS排名不分先后最近好像都是只发了一些生活类,吐槽的一些 b
-   在用Python进行数据处理的时候,经常会遇到DataFrame中的某一列本应该是数值类型,但由于数
- function create5StarClip(context) { var n = 0; var dx = 100; var dy =
- 1、常量 常量是一个包含文字与数字,十六进制或数字常量。一个字符串常量包含单引号('')或双引号("")
- 一、安装1.从官网下载Linux版的Pycharm官网链接:https://www.jetbrains.com/pycharm/downlo