我有一个二值图像,尺寸为 64x63,其中每个像素都是 1 或 0。
import struct
from PIL import Image
import numpy
...
i1 = Image.frombytes('1', (64, 63), r[3], 'raw')
我怎样才能反转这个图像?
编辑
我尝试了建议的解决方案:
from PIL import Image
import PIL.ImageOps
i1 = PIL.ImageOps.invert(i1)
然而,这导致了错误:
raise IOError("not supported for this image mode")
IOError: not supported for this image mode
我认为这是因为图像既不是 RGB 也不是 L(灰度)。相反,它是一个二进制图像文件,其中每个像素只有 0 或 1。
最佳答案
另一种选择是在反转之前将图像转换为支持的反转格式,即:
import PIL.ImageOps
inverted_image = PIL.ImageOps.invert( image.convert('RGB') )
关于Python 反转二值图像; .invert() 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41421033/