ChatGPT代码解释器批量编辑图片真香!

OpenAI的确不擅长起名字。Code Interpreter (代码解释器)乍听上去像是跟编程有关的东西,然而实际上完全不是。它能利用Python代码批量处理几千张图片,因此得名。你可以讲要处理的图片压缩为一个512M以内的文件,然后直接上传到ChatGPT。

有了Code Interpreter,你不在需要学习其他软件来批量处理图片了。你可以像跟朋友对话一个描述你的需求,然后让它裁剪掉不必要的背景、将静态图片转换为动感的 GIF、添加水印以保护版权,甚至识别人脸并模糊以保护隐私。

让我们用实际案例看看它的强大之处吧。

删除图像主题周围空白背景

当我们需要把图片展示在网页上或者PPT中,为了保持风格的统一,或者提高图片的加载速度,会想要删掉图像主体部分周围的空白背景。

我们只需要把要处理的图片压缩成一个包,上传到Code Interpreter,然后再写一个Prompt就可以搞定。

例如,我把以下三张需要处理的图片压缩一下。

然后上传到Code Interpreter,再提交这样一个Prompt就可以啦:

请删除压缩包中图片主体周围的空白空间或多余空间。

然后我们看下Code Interpreter的处理过程:

明白了。 我将处理ZIP 文件中的图像,删除图像主体周围任何不必要的空白。

首先,我将从 ZIP 文件中提取图像并将其加载到内存中。 然后,我将继续进行图像处理步骤。 开始吧。

我已经处理了 6 张图像,并删除了每张图像周围不必要的空白。 现在,我将把这些图像压缩回 ZIP 文件并提供下载链接。

处理后的图像已成功压缩为 ZIP 文件。

您可以从以下链接下载包含已处理图像的 ZIP 文件:

下载处理后的图像

点击ChatGPT提供的下载链接就可以下载处理好的图片啦。这是删除了多余白色背景后的三张图片:

图片转GIF动画

GIF要比静态的图片更具有视觉吸引力,与视频相比具有体积更小的优势,你可以用Code Interpreter把图片转换成GIF提高社交媒体的参与度。

我们只需要把要处理的图片压缩成一个包,上传到Code Interpreter,然后再写一个Prompt就可以搞定。

请将zip包中的图片转换为GIF。 图像应按名称顺序排列。 生成的 GIF 应具有循环动画,并且每帧之间有 500 毫秒的帧延迟。

这是我用来生成GIF的三张图片:

来看下ChatGPT的处理过程:

我已经成功将图像转换为 GIF,帧延迟为 500 毫秒。 这是您要求的 GIF:

下载GIF

这是最终生成的GIF:

除了直接转GIF,还可以添加其他效果,比如淡入淡出。

图片加水印

水印是宣告图片所有权的通常做法。摄影师、艺术家和内容创作者经常添加水印,以确保他们的作品得到认可并防止其他人声称其为自己的作品。用Code Interpreter添加水印也很简单:

该压缩包有多个图像以及我的logo。 logo的文件名是“logo”。 请你将logo作为水印添加到每个图像中。 水印应位于距图像右下角 10 个像素的位置;保持原始宽高比;大小为相对于图像宽度或高度的 5%;透明度 50% ;背景要透明。 最后,请提供处理后图像的下载链接。

The zip package includes multiple images along with my logo. The filename of the logo is “logo”. I need assistance in adding the logo as a watermark to each image in the package. The watermark should be positioned 10 pixels from the bottom right corner of the image, with its original aspect ratio, a size of 5% relative to the image’s width or height, a transparency of 50%, and transparent background. Finally, please provide a download link for the processed image.

以下是我要处理的图片:

来看看ChatGPT的处理过程:

最终两张图片的右下角都添加了水印。你也可以通过修改Prompt来调整水印的大小,位置和透明度。你当然可以上传更多图片,不过目前可以上传到Code Interpreter的最大文件大小为512M。

除了加水印以外,还可以批量给图片添加文字,添加其他图片等。

人脸识别

在有些场合,处于保护隐私或个人身份的目的,我们需要在人脸上打马赛克。这个操作在Code Interpreter里面还是只需要一句话就搞定。

先看下原先的两张美女肖像:

然后把下面这个Prompt交给代码解释器:

该压缩包有多张图像。 请识别每张图像中出现的面孔。 识别出脸部后,我需要您创建马赛克以覆盖每个图像中的脸部。 最后,为我提供处理后图像的下载链接。

最终打开的两张图片效果如下:

除了打马赛克以外,还可以把识别的脸部做模糊处理,用其他图像覆盖住或者把所有识别出的人脸保存为另一个图像。

图像降噪

在弱光下拍摄的照片都会很考验照相机的性能,尽管现在的相机的感光能力越来越强,但在某些弱光拍摄条件下,照片难免会有噪点。例如下面这张照片里的黄色区域存在亮度不均匀的小糙点。图像降噪技术可以减少这些噪点,提升画质。

把这张照片上传到代码解释器之后,输入以下Prompt:

去除图像中的噪声,同时保留其纹理和细节。 完成后,请分享处理后图像的下载链接。

ChatGPT输出了处理过程:

为了去除图像中的噪声,我们可以使用多种方法。 最常见的方法之一是使用去噪滤波器,例如非局部均值去噪算法。 该算法的工作原理是比较图像中的所有像素,而不是仅比较局部邻域中的像素,因此它可以在去除噪声的同时保留细节。

让我们继续这个方法,然后你可以检查结果是否令人满意。 如果没有,我们可以尝试其他方法。

图像已经过处理,噪声已减少。 您可以从以下链接下载去噪后的图像:

下载去噪图像

请查看图像并让我知道降噪效果是否令人满意。 如果没有,我们可以尝试不同的方法或者调整当前方法的参数。

如果对最终的图片效果不满意,还可以给ChatGPT提修改意见。我这里只演示了一张图片,你可以把要处理的多张图片压缩上传,不要超过512M就好了。

基础图像处理

Code Interpreter还可以执行基础的图像批量操作,如缩放,裁剪,旋转,模糊,锐化等。

图像缩放

图像缩放就是改变图像的大小。 可以通过指定新的宽度和高度或按一个比例缩放。在缩放过程中,图像的像素值会调整以适应新的尺寸,同时保留视觉内容和宽高比 。 Prompt举例:

  1. 将此图像缩放为 800 像素的宽度,同时保持其纵横比。
  2. 请将给定图像按原始尺寸缩小 50%。
  3. 我希望你将图像放大 2.5 倍。
  4. 你能将这张图片的大小调整为 600 像素的高度并保持其原始纵横比吗?
  5. 我需要将此图像缩放至 1920×1080 像素的分辨率。

图像裁剪

图像裁剪是从图像中选择并提取特定的感兴趣区域 (ROI),同时丢弃其余部分。裁剪是通过指定所需 ROI 的坐标或尺寸来实现的。所选区域可以通过其左上角和右下角坐标或其起点的宽度和高度来定义。裁剪时,指定 ROI 内的像素将被保留,图像的其余部分将被丢弃。

Prompt举例:

  1. 从点 (100,100) 开始裁剪图像,宽度为 500 像素,高度为 300 像素。
  2. 请从图像中提取由坐标(300,200)到(800,600)定义的感兴趣区域。
  3. 你能从图像中心剪出一个边长 400 像素的正方形吗?
  4. 裁剪这张照片,使其聚焦于从左上角 (0,0) 到右下角 (600,400) 的矩形定义的区域。
  5. 我想在中间隔离主体,以中心周围 200 像素为半径裁剪图像。

图像旋转

图像旋转就是围绕给定中心点将图像旋转指定角度。旋转可以是顺时针或逆时针。在旋转过程中,图像的像素值会重新排列以适应新的方向,同时保留内容。旋转中心可以由图像中的特定点或图像的中心来定义。

Prompt举例:

  1. 将图像顺时针旋转 90 度。
  2. 请将给定图像逆时针旋转 45 度。
  3. 你能把图片绕中心旋转180度吗?
  4. 将此图像绕点 (300,300) 顺时针旋转 30 度。
  5. 我需要该图像即沿水平轴旋转 180 度。

图像模糊

图像模糊是一种用于减少噪声并平滑图像细节的技术。模糊是通过平均或操纵每个像素周围邻域中的像素值来实现的。可以指定常见的模糊技术包括高斯模糊(使用高斯分布应用加权平均值)和中值模糊(将每个像素替换为其邻域的中值)。

Prompt举例:

  1. 对图像应用半径为 5 像素的高斯模糊。
  2. 使用具有 3×3 内核的中值滤波器模糊此图像。
  3. 你能使用高斯方法对西格玛为 2.0 的图像应用模糊效果吗?
  4. 请在水平方向对图像应用运动模糊,内核大小为 20。
  5. 我想柔化这张照片中的细节,你可以应用模糊滤镜吗?

我的总结

现在Code Interpreter处理图像的功能还是挺有限,它内置的处理图像的Python库并不是全部,只是选了其中的一部分。但随着它内置更多的Python库,功能一定会更强大。

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注