如果是单张图可以使用:convert(“L”)是uint8灰度图
from PIL import Image
from skimage import io,transform,color
import numpy as np
img=Image.open('/图片路径/')
L=img.convert("L")
L.save('/存放路径')
多张图批量操作
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Thu Nov 8 11:09:39 2018
@author: customer
"""
from skimage import io,transform,color
import numpy as np
from PIL import Image
from skimage import img_as_ubyte
def convert_gray(f,**args):#图片处理与格式化的函数
img=io.imread(f) #读取图片
gray=color.rgb2gray(img)
#gray=color.rgb2gray(img) #将彩色图片转换为灰度图片
#dst=transform.resize(gray,(600,800))
# #调整大小,图像分辨率为600*800
dst=img_as_ubyte(gray) #数据类型转换为uint8
return dst
datapath='/home/customer/Desktop/1/data/membrane/train/label/' #图片所在的路径
str=datapath+'/*.png' #识别.png的图像
coll = io.ImageCollection(str,load_func=convert_gray)#批处理
for i in range(len(coll)):
io.imsave('/home/customer/Desktop/1/data/membrane/train/label2/'+np.str(i)+'.png',coll[i])

本文介绍了一种使用Python批量将彩色图片转换为灰度图的方法,通过skimage和PIL库实现了单张及多张图片的灰度转换,并保存至指定路径。
4152





