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

2024-09-27 00:21:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有图像,我想保存在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")

但结果是所有的图像都是黑色的。 这是怎么回事?在


Tags: pathfromio图像importimgostf
1条回答
网友
1楼 · 发布于 2024-09-27 00:21:06

您的图像mymyimage从0变为1,PIL需要一个值介于0和255之间的图像。在截断期间,您的jpeg图像将被截断值0或1,结果是黑色。在

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

outputimg = Image.fromarray(mymyimg*255)

希望有帮助。在

干杯

相关问题 更多 >

    热门问题