使用PIL在Python 3中从图像中删除单个像素行

有没有简单的方法可以删除PIL(枕头)中的一行像素?

removing pixel row

我考虑过

  • 将图像分成两份
  • 裁剪副本,其中之一为+1行
  • 将副本合并在一起

但是似乎不必要的复杂。

我不熟悉在其他python库中修改图像的方法,但是如果它只是完成任务,那么我会考虑的。

评论
  • dquis
    dquis 回复

    This question is very similar to this one that has been answered already. Maybe that helps?

  • 卟~怕
    卟~怕 回复

    You could convert the image into a numpy array using numpy.array(image) and then use numpy.delete() to remove a row before converting it back into an image with PIL.Image.fromarray().

    例如,这将从图像中删除第7行。

    a = numpy.array(im)
    
    a = numpy.delete(a, 6, 0)
    
    im = Image.fromarray(a)