Python将8位的图片转为24位的图片实现方法

yipeiwu_com6年前Python基础

用的pytorch来训练deeplabv3+

在做deeplabv3+的过程中,我的训练图片是8位的,如下图:

8位的:

在这里插入图片描述

24位的:

在这里插入图片描述

这样虽然在训练过程中能够正常训练。但是在评估过程中会出错,所以决定将训练图片转成24位图,重新训练。最后结果也表明了,只要将训练图片转成24位后之后的评估可视化等都没有问题。

由于RGB的图片就为24位,则简单将图片利用PIL转为RGB格式即可

#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Created on Tue Oct 24 10:47:36 2018
@author: yxh
"""
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import os
import sys
import shutil
path='/home/yxh/caffe/examples/fcn/IMAGES/IMAGES/'
newpath='/home/yxh/caffe/examples/fcn/IMAGES/output/'
def turnto24(path):
 fileList = []
 files = os.listdir(path)
 i=0
 for f in files:
  imgpath = path + '/' +f
  img=Image.open(f).convert('RGB')
  dirpath = newpath 
  file_name, file_extend = os.path.splitext(f)
  dst = os.path.join(os.path.abspath(dirpath), file_name + '.jpg')
  img.save(dst)
turnto24(path)

总结

以上所述是小编给大家介绍的Python将8位的图片转为24位的图片,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对【听图阁-专注于Python设计】网站的支持!

相关文章

python中的一些类型转换函数小结

函数               &...

Python中str.join()简单用法示例

本文实例讲述了Python中str.join()简单用法。分享给大家供大家参考,具体如下: Python join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串。其中,序...

python多重继承新算法C3介绍

mro即 method resolution order (方法解释顺序),主要用于在多继承时判断属性的路径(来自于哪个类)。 在python2.2版本中,算法基本思想是根据每个祖先类的...

python数组循环处理方法

简介 本文主要介绍python数组循环语法。主要方式有元素遍历,索引遍历,enumerate, zip, list内部等。 普通循环 list1 = ['item1', 'item2...

详解python 字符串和日期之间转换 StringAndDate

python 字符串和日期之间转换 StringAndDate           这里给出实现...