Python计算机视觉:对图片进行格式转换

# -*- coding: utf-8 -*-
from PCV.tools.imtools import get_imlist #导入原书的PCV模块
from PIL import Image
import os
import pickle

filelist = get_imlist('C:/PythonWorkSpace/pic/') #获取convert_images_format_test文件夹下的图片文件名(包括后缀名)
print(filelist)
imlist = open('C:/PythonWorkSpace/pic/imlist.txt','wb') #将获取的图片文件列表保存到imlist.txt中
pickle.dump(filelist,imlist,0) #序列化
imlist.close()

for infile in filelist:
    outfile = os.path.splitext(infile)[0] + ".png" #分离文件名与扩展名
    if infile != outfile:
        try:
            Image.open(infile).save(outfile)
        except IOError:

print ("cannot convert", infile)

我是对比2个链接进行修改的,运行以后有乱码出现,问题原因找到啦,

(改为:pickle.dump(filelist,imlist,0) #序列化)

其中,模块定义:

1/ pickle.dump(obj, file, [,protocol])   注解:将对象obj保存到文件file中去。      protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示;1:老式的二进制协议;2:2.3版本引入的新二进制协议,较以前的更高效。其中协议0和1兼容老版本的python。protocol默认值为0。      file:对象保存到的类文件对象。file必须有write()接口, file可以是一个以'w'方式打开的文件或者一个StringIO对象或者其他任何实现write()接口的对象。如果protocol>=1,文件对象需要是二进制模式打开的。

2/ os.path.splitext(path)

>>> os.path.splitext('c:\\csv\\test.csv')   

('c:\\csv\\test', '.csv') 

3/ Image.open(infile).save(outfile) PIL 的 open() 函数用于创建 PIL 图像对象,save() 方法用于保存图像到具有指定文件名的文件。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值