python能处理jpg图像文件吗_使用python保存在脚本中编辑的JPG图像

本文档展示了如何使用Python的skimage和PIL库处理并保存JPG图像,包括旋转和剪切操作。在尝试保存编辑后的图像时遇到问题,原始图像能够正确显示旋转和剪切效果,但保存的图像仅显示为黑色。错误提示表明不能以模式F写入JPEG。寻求解决保存图像问题的方法。
摘要由CSDN通过智能技术生成

参考this question的答案,我尝试在一些基本的图像处理之后保存自己的JPG图像文件。我只应用了旋转和剪切。这是我的代码:import numpy as np

import sys

from skimage import data, io, filter, color, exposure

import skimage.transform as tf

from skimage.transform import rotate, setup, AffineTransform

from PIL import Image

mypath = PATH_TO_FILENAME

readfile = FILENAME

img = color.rgb2gray(io.imread(mypath + readfile))

myimg = rotate(img, angle=10, order=2)

afine_tf = tf.AffineTransform(shear=0.1)

editedimg = tf.warp(myimg, afine_tf)

# IF I UNCOMMENT THE TWO LINES BELOW, I CAN SEE THE EDITED IMAGE AS EXPECTED

#io.imshow(editedimg)

#io.show()

saveimg= np.array(editedimg)

result = Image.fromarray((saveimg).astype(np.uint8))

newfile = "edited_" + readfile

result.save(path+newfile)

我知道图像处理很好,因为如果我在保存之前显示它,它只是原始图像,有点旋转和剪切,正如预期的那样。但我在保存的时候做错了什么。我试过没有使用astype(np.uint8))部分,但是得到了一个错误。然后我从上面提到的链接中删除了一些代码,因为我猜这是特别针对傅立叶变换的,因为当我加入他们的一些代码时,我得到的图像是灰色的,但在我应用的剪切方向上有白线。但现在保存下来的图像只有2KB,只有黑色。在

当我试着做一些简单的事情:

^{pr2}$

然后我得到了一个错误:raise IOError("cannot write mode %s as JPEG" % im.mode)

IOError: cannot write mode F as JPEG

我真的不需要使用PIL,如果有其他方法可以简单地保存我的图像,我很乐意。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值