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设计】网站的支持!

相关文章

使用tensorboard可视化loss和acc的实例

1.用try...except...避免因版本不同出现导入错误问题 try: image_summary = tf.image_summary scalar_summary =...

对Python subprocess.Popen子进程管道阻塞详解

问题产生描述 使用子进程处理一个大的日志文件,并对文件进行分析查询,需要等待子进程执行的输出结果,进行下一步处理。 出问题的代码 # 启用子进程执行外部shell命令 def __s...

Python Django的安装配置教程图文详解

Python Django的安装配置教程图文详解

Django 教程 Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。 Django是一个开放源代码的We...

python实现挑选出来100以内的质数

这里给大家分享的是使用python实现将100以内的质数挑选出来 代码非常简单,就不多废话了。 """ 使用filter将100以内的质数挑选出来 """ # coding =...

python 实现对文件夹内的文件排序编号

使用时,需更改rootdir, 即文件保存的路径,以及要保存的格式,例如‘.jpg' 如果排序前后文件格式一样,建议先随便换个格式,然后再换回来,也就是程序运行两次,第一次随便换个格式,...