Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
我就废话不多说了,直接上代码吧!
import Image
from datetime import datetime
import os
str = '/home/dltest/caffe/examples/sgg_datas/images/result_test/zutest/' + datetime.now().strftime("%Y%m%d_%H%M%S")
while True==os.path.exists(str):
str = str + datetime.now().strftime("%Y%m%d_%H%M%S")
os.makedirs(str) #创建文件夹
imageFile = '/home/dltest/caffe/examples/sgg_datas/images/result_test/zutest/20form1.bmp' #图片路径
import imghdr
imgType = imghdr.what(imageFile) #获取图像类型,返回bmp,jpg等
type1 = cmp(imgType, 'bmp') #判断是否为bmp,jpg类型,若字符相等则返回值为 0
type2 = cmp(imgType,'jpeg')
type3 = cmp(imgType,'jpg')
type = type1 *type2 *type3 #判断是否为三种类型中的一类
if type != 0 :
#进行图像类型转换,转换为 jpg格式
im = Image.open(imageFile)
str2 = str + '/' + '1.jpg' #会自动替换原来的1.jpg
im.save(str2)
print('1')
以上这篇Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
时间: 2020-01-11
OpenCV转换成PIL.Image格式: import cv2 from PIL import Image import numpy img = cv2.imread("plane.jpg") cv2.imshow("OpenCV",img) image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB)) image.show() cv2.waitKey() PIL.Image转换成OpenCV格式: im
将np图片(imread后的图片)转码为base64格式 def image_to_base64(image_np): image = cv2.imencode('.jpg',image_np)[1] image_code = str(base64.b64encode(image))[2:-1] return image_code 将base64编码解析成opencv可用图片 def base64_to_image(base64_code): # base64解码 img_data = base
在学习tensorflow的过程中,有一个问题,tensorflow在训练的过程中读取的是二进制图像数据库文件,而不是图像文件,因此 在进行训练.测试之前需要将图像文件转换为二进制格式. 下面是我在ubuntu中使用python+OpenCV读取图像并转换为二进制格式文件的代码. #coding=utf-8 ''' Created on 2016年3月24日 使用Opencv读取图像将其保存为二进制格式文件,再读取该二进制文件,转换为图像进行显示 @author: hanchao ''' imp
python读取和保存图片5种方法对比 python中对象之间的赋值是按引用传递的,如果需要拷贝对象,需要用到标准库中的copy模块 方法一:利用 PIL 中的 Image 函数 这个函数读取出来不是 array 格式,这时候需要用 np.asarray(im) 或者 np.array()函数 . 区别:np.array() 是深拷贝,np.asarray() 是浅拷贝 copy.copy 浅拷贝 只拷贝父对象,不会拷贝对象的内部的子对象. copy.deepcopy 深拷贝 拷贝对象及其子对象
在Python生态圈里,最常用的图像库是PIL--尽管已经被后来的pillow取代,但因为pillow的API几乎完全继承了PIL,所以大家还是约定俗成地称其为PIL.除PIL之外,越来越多的程序员习惯使用openCV来处理图像.另外,在GUI库中,也有各自定义的图像处理机制,比如wxPyton,定义了wx.Image做为图像处理类,定义了wx.Bitmap做为图像显示类. 下图梳理出了PIL读写图像文件.cv2读写图像文件.PIL对象和cv2对象互转.PIL对象和wx.Image对象互转.以及
一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因此,我们这里使用python这个脚本语言来进行数字图像处理. 要使用python,必须先安装python,一般是2.7版本以上,不管是在windows系统,还是linux系统,安装都是非常简单的. 要使用python进行各种开发,就必须安装对应的库.这和matlab非常相似,只是matlab里面叫工具箱
一提到数字图像处理,可能大多数人就会想到matlab,但matlab也有自身的缺点: 1.不开源,价格贵 2.软件容量大.一般3G以上,高版本甚至达5G以上. 3.只能做研究,不易转化成软件. 因此,我们这里使用python这个脚本语言来进行数字图像处理. 要使用python,必须先安装python,一般是2.7版本以上,不管是在windows系统,还是linux系统,安装都是非常简单的. 要使用python进行各种开发,就必须安装对应的库.这和matlab非常相似,只是matlab里面叫工具箱
使用python画图,发现生成的图片在console里.不仅感觉很别扭,很多功能也没法实现(比如希望在一幅图里画两条曲线). 想像matlab一样单独地生成一个图片窗口,然后我在网上找了一个多小时,都没有找到想要的,要么仅仅是画图的教程,要么就是问题提出了,也没人回答. 我记得曾经我使用过一行代码,可以实现这个功能的.最后果然在History log里面找到了: %matplotlib qt5 显示图像于新生成的一个图片窗口 %matplotlib inline 在console中显示 以上这篇
本文实例讲述了python下载文件时显示下载进度的方法.分享给大家供大家参考.具体分析如下: 将这段代码放入你的脚本中,类似:urllib.urlretrieve(getFile, saveFile, reporthook=report) 第三个参数如下面的函数定义report,urlretrieve下载文件时会实时回调report函数,显示下载进度 def report(count, blockSize, totalSize): percent = int(count*blockSize*10
编码问题因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了.问题要从文字的编码讲起.原本的英文编码只有0~255,刚好是8位1个字节.为了表示各种不同的语言,自然要进行扩充.中文的话有GB系列.可能还听说过Unicode和UTF-8,那么,它们之间是什么关系呢?Unicode是一种编码方案,又称万国码,可见其包含之广.但是具体存储到计算机上,并不用这种编码,可以说它起着一个中间人的作用.你可以再把Unicode编码(encode)为UTF-8,或者GB,再存储到计算机
本文实例展示了一个脚本python用来转化表配置数据xml并生成相应的解析代码. 但是在中文编码上出现了乱码,现将解决方法分享出来供大家参考. 具体方法如下: 1. Python文件设置编码 utf-8 (文件前面加上 #encoding=utf-8) 2. MySQL数据库charset=utf-8 3. Python连接MySQL是加上参数 charset=utf8 4. 设置Python的默认编码为 utf-8 (sys.setdefaultencoding(utf-8) 示例代码如下:
经过倒腾12306的登录,还是实现了,请求头很重要...各位感兴趣的可以继续写下去..... import sys import time import requests from PIL import Image import json import os import Headers import SessionUtil import UrlUtils class Ticket(object): def __init__(self): self.answer = { "1": &q
前面的一些例子中,我们都是利用Image.open()来打开一幅图像,然后直接对这个PIL对象进行操作.如果只是简单的操作还可以,但是如果操作稍微复杂一些,就比较吃力了.因此,通常我们加载完图片后,都是把图片转换成矩阵来进行更加复杂的操作. python中利用numpy库和scipy库来进行各种数据操作和科学计算.我们可以通过pip来直接安装这两个库 pip install numpy pip install scipy 以后,只要是在python中进行数字图像处理,我们都需要导入这些包: fr
opencv是一个强大的图像处理和计算机视觉库,实现了很多实用算法,值得学习和深究下. opencv包安装 · 这里直接安装opencv-python包(非官方): pip install opencv-python 官方文档:https://opencv-python-tutroals.readthedocs.io/en/latest/ 1.读取图像 import cv2 image=cv2.imread("dog2.jpg",1) 说明: 第二个参数是一个标志,它指定了读取图像的方
上次说到的,使用如下代码保存矢量图时,放在外侧的图例往往显示不完整: import numpy as np import matplotlib.pyplot as plt fig, ax = plt.subplots() x1 = np.random.uniform(-10, 10, size=20) x2 = np.random.uniform(-10, 10, size=20) #print(x1) #print(x2) number = [] x11 = [] x12 = [] for i