PIL图像转换为RGB,保存为纯黑色图像(python)

PIL图像转换为RGB,保存为纯黑色图像(python),python,image-processing,numpy,jpeg,Python,Image Processing,Numpy,Jpeg,在剪切和编辑图像后,我想将其保存为jpeg格式 这是我在python中的函数: import numpy as np from skimage import data, io, filter, color, exposure import skimage.transform as tf from skimage.transform import resize, rescale, rotate, setup, warp, AffineTransform import os from os impo

在剪切和编辑图像后,我想将其保存为jpeg格式

这是我在python中的函数:

import numpy as np
from skimage import data, io, filter, color, exposure
import skimage.transform as tf
from skimage.transform import resize, rescale, rotate, setup, warp, AffineTransform
import os
from os import listdir
from os.path import isfile, join
from PIL import Image


def generateHoGSamples(path, readfile):
    print "generating samples from  " + path+"\\"+readfile
    img = color.rgb2gray(io.imread(path+"\\"+readfile))
    img = resize(img, (50,100))
    filename = os.path.splitext(readfile)[0]
    angles = [3, 0, -3]
    shears = [0.13, 0.0, -0.13]
    imgidx = 0
    for myangle in angles:
        myimg = rotate(img, angle=myangle, order=2)
        for myshear in shears:
            imgidx+=1
            afine_tf = tf.AffineTransform(shear=myshear)
            mymyimg = tf.warp(myimg, afine_tf)
            outputimg = Image.fromarray(mymyimg)
            # Saving as "jpg" without the following line caused an error
            outputimg = outputimg.convert('RGB')
            outputimg.save(path+"//"+str(imgidx)+".jpg", "JPEG")
但事实上,所有的图像都是黑色的。 这里怎么了?

您的图像MyImage从0变为1,而PIL希望图像的值介于0和255之间。在截断过程中,jpeg图像的截断值为0或1,结果为黑色

要解决这个问题,只需将myimg乘以255,例如

outputimg = Image.fromarray(mymyimg*255)
希望能有帮助

干杯