如何利用python编辑图片,删除其中一部分?

删除图像的一部分是什么意思? 在数学和编程上,大多数时候,这意味着将图像对应区域的数组转换为(0,0,0) 表示 RGB 通道值,或黑色。

在许多情况下,删除图像的一部分很有用。 比如在文字转图片应用中,使用Dallie2,我们可以通过AI修复来编辑图像的一部分。而重新智能生成新图片的准备工作就是把需要修改的部分先删掉。

使用 Python 图像库进行图像处理

from PIL import Image
import numpy as np      
  
# Opening the image and converting 
# it to RGB color mode
img = Image.open("lena.png").convert('RGB')

display(img)

请添加图片描述


  
# Extracting the image data &
# creating an numpy array out of it
img_arr = np.array(img)

# check the pixel size of this image
print(img_arr.shape)

# check some of the values
img_arr
(225, 400, 3)





array([[[108,  73,  53],
        [109,  72,  54],
        [109,  67,  51],
        ...,
        [ 56,  41,  44],
        [ 62,  47,  50],
        [ 70,  54,  57]],

       [[110,  75,  55],
        [110,  73,  55],
        [109,  67,  51],
        ...,
        [ 54,  39,  42],
        [ 57,  42,  45],
        [ 64,  48,  51]],

       [[109,  74,  55],
        [110,  73,  55],
        [107,  68,  53],
        ...,
        [ 51,  39,  41],
        [ 56,  41,  44],
        [ 61,  46,  49]],

       ...,

       [[130,  75,  54],
        [128,  74,  50],
        [130,  78,  56],
        ...,
        [123,  75,  61],
        [122,  74,  60],
        [128,  80,  66]],

       [[129,  72,  52],
        [127,  70,  50],
        [131,  77,  53],
        ...,
        [126,  78,  64],
        [122,  74,  60],
        [126,  78,  64]],

       [[134,  72,  49],
        [133,  72,  51],
        [126,  71,  51],
        ...,
        [140,  87,  71],
        [135,  79,  64],
        [140,  84,  67]]], dtype=uint8)

从以上结果可以看出,图像有 225(y 方向)乘以 400(x 方向)像素; 在每个像素处,有一个大小为 3 的元组代表 RGB 颜色。

需要注意的一件事是 RGB 和 RGBA 之间的通道差异。 如果您拍摄屏幕快照。 边界框内的像素在 Windows 上作为“RGB”图像返回,在 macOS 上作为“RGBA”图像返回。 对于 RGB 通道,它需要 24 位来编码像素,而对于 RGBA,它需要 32 位来编码像素。

如果原始图像有RGB通道,但我们需要RGBA通道,我们可以使用下面的函数将图像从RGB通道转换为RGBA通道,反之亦然。

img_rgba = Image.open("lena.jpg").convert('RGBA')
img_arr_rgba = np.array(img_rgba)

# check the pixel size of this new image
print(img_arr_rgba.shape)
(225, 400, 4)

让我们回到删除部分图像的任务,如下所示


  
# Turning part of the the pixel values of to be black
# the order is  ymin: ymax,  xmin:xmax
img_arr[150 : 225, 0 : 100] = (0, 0, 0)

# Creating an image out of the previously modified array
img_edit = Image.fromarray(img_arr)

# Displaying the image
display(img_edit)

请添加图片描述

现在您可以看到图像的左角现在是黑色的。

代码下载

链接末尾的github地址

全栈程序员的最爱,AI好书必读

在这里插入图片描述
北大出版社,人工智能原理与实践 人工智能和数据科学从入门到精通 详解机器学习深度学习算法原理

人工智能原理与实践 全面涵盖人工智能和数据科学各个重要体系经典

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要修改和更换调用另一个版本的Python解释器,你可以按照以下步骤进行操作: 1. 确认已安装目标版本的Python解释器:首先,确保你已经在系统中安装了想要使用的另一个版本的Python解释器。你可以从Python官方网站(https://www.python.org/downloads/)下载并安装所需版本的Python。 2. 找到新安装的Python解释器路径:一旦安装完成,记下新安装Python解释器的安装路径。在Windows系统中,默认情况下,Python解释器通常被安装在`C:\PythonXX`文件夹中(`XX`代表Python的主要版本号,如Python 3.9对应的路径为`C:\Python39`)。 3. 修改系统环境变量:在Windows系统中,Python解释器的路径通常会添加到系统的环境变量中,从而可以在任何位置调用Python。为了更换调用另一个版本的Python,你需要修改系统的环境变量。 - 在Windows 10系统中,右键点击"此电脑"(或"我的电脑")图标,选择"属性"。 - 在打开的窗口中,点击"高级系统设置"。 - 在"系统属性"窗口中,点击"环境变量"按钮。 - 在"用户变量"或"系统变量"部分中,找到名为`Path`的环境变量,并编辑它。 - 在编辑窗口中,找到并修改包含旧Python解释器路径的条目,将其替换为新安装Python解释器的路径。你可以将新的Python解释器路径添加到现有的路径列表中,或者删除旧的路径并添加新的路径。 - 点击"确定"保存修改。 4. 验证更改:打开命令提示符(或终端),运行`python`命令来确认新的Python解释器已成功更换。命令提示符应该显示新安装Python解释器的版本信息。 现在,你应该能够在命令提示符或终端中调用并使用新安装的Python解释器了。请注意,如果你的项目依赖于特定版本的Python库,你可能需要在新的Python环境中重新安装这些库,以确保项目能够正常运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值