当前位置: 首页 > news >正文

ChatGPT使用案例之图像生成

ChatGPT使用案例之图像生成

这里一节我们介绍一下ChatGPT的图像生成,这里我们使用代码来完成,也就是通过API 来完成,因为ChatGPT 本身是不能生成图片的,言外之意我们图片生成是ChatGPT通过其他方式生成的

Images API提供了三种与图像交互的方法:

  1. 基于文本提示从头开始创建图像
  2. 基于新的文本提示创建对现有图像的编辑
  3. 创建现有图像的变体

当然如果你觉得这种方式不好或者不能满足要求,可以使用midjourney,也是通过prompt 生成的

生成图片

我们可以运行下面的方法生成图片,图片大小有 256x256, 512x512,1024x1024 ,例如我们这里就是1024x1024 ,n 是我们要生成的图片数量,这里就是3,最多一次调用可以生成10张。

def generate():response = openai.Image.create(prompt="a white siamese cat",n=3,size="1024x1024")image_urls = response['data']print(image_urls)

运行之后我们就看到把生成的图片链接打印出来了

image-20230328144922203

我们可以点看链接去看看

image-20230328145017050

图片编辑

图像编辑API 运行通过上传遮罩来编辑和扩展图像。遮罩的透明区域指示应在何处编辑图像,提示应描述完整的新图像,而不仅仅是已擦除的区域,其实就是通过ChatGPT 生成遮罩区域的图像。

我们看一下代码

response = openai.Image.create_edit(image=open("sunlit_lounge.png", "rb"),mask=open("mask.png", "rb"),prompt="A sunlit indoor lounge area with a pool containing a flamingo",n=1,size="1024x1024"
)
image_url = response['data'][0]['url']

我们的输入和输入如下所示

image-20230328152948656

这里有两个问题需要注意一下,一个是我们的图片格式,否则可能抛出下面的错误

raise self.handle_error_response(
openai.error.InvalidRequestError: Invalid input image - format must be in ['RGBA', 'LA', 'L'], got RGB.

我们可以使用PIL模块进行图片格式转换

from PIL import Image
image=Image.open("original.png")
img = image.convert('RGBA')
img.save("original2.png")

还有就是我们的遮罩也就是mask 必须是和原图一样大的

raise self.handle_error_response(
openai.error.InvalidRequestError: Invalid input mask - mask size must match image size 1468x1462, got 1470x1462 instead.

图片调整

其实这里准确的描述应该是可以针对我们的图片进行一些变化,也就是生成变化

def variation():response = openai.Image.create_variation(image=open("image_edit_mask2.png", "rb"),n=1,size="1024x1024")image_url = response['data'][0]['url']print(image_url)
variation()

下面分别就是我们的输入输出

image-20230328153901665

这里有一个需要注意的地方那就是这个变化完全是由ChatGPT控制的,我们不能提示也就是不能使用prompt,否则

openai.error.InvalidRequestError: Additional properties are not allowed ('prompt' was unexpected)

总结

到这里我们关于ChatGPT生成图像就已经介绍完了,可以看到的是只是有这个功能,还不够强大,目前只支持下面三种形式

  1. 基于文本提示从头开始创建图像
  2. 基于新的文本提示创建对现有图像的编辑
  3. 创建现有图像的变体

如果不满足需求,可以让ChatGPT 生成prompt,然后通过midjourney根据prompt生成。

http://www.lryc.cn/news/43880.html

相关文章:

  • 蚁群算法优化旅行问题
  • 树数据结构
  • Spring Boot整合Redis并提供多种实际场景的应用
  • VR全景图片,助力VR全景制作,720全景效果图
  • Kali Linux20款重要软件
  • C语言测试五
  • 【微服务~原始真解】Spring Cloud —— 访问数据库整合Druid数据源
  • 前端入门必刷题,经典算法—两数之和
  • ‘海外/国外‘地区微博签到shu据(正题在第二部分)
  • Springboot——SB整合Mybatis的CURD(基于注解进行开发)
  • 现在大专生转IT可行吗?
  • XC7A50T-1CSG324I、XC7A50T-2CSG324I Artix-7 FPGA可编程门阵列
  • linux安装图片处理软件ImageMagick
  • 【Java基础】JavaCore核心-反射技术
  • AWGN后验估计下的均值与协方差关系(向量和标量形式)
  • Linux常用命令之文件搜索命令
  • ChatGPT给软件测试行业带来的可能
  • Cadence Allegro 导出Properties on Nets Report报告详解
  • JAVA代码 实现定位数据动态聚集并绘制多边形区域
  • 基于储能进行调峰和频率调节研究【超线性增益的联合优化】(Matlab代码实现)
  • 体验 Linux 的几个监控命令(htop、nmon、netdata)
  • NOC大赛2022NOC软件创意编程初赛图形化小低组(小学高年级组)
  • python进行股票收益率计算和风险控制的实现
  • 自从有了这套近4000页的开发文档后,Java面试路上就像开了挂一样
  • Python文件操作
  • 036:cesium加载GPX文件,显示图形
  • 【AI探索】我问了ChatGPT几个终极问题
  • Leetcode 优先队列详解
  • 通过两道一年级数学题反思自己
  • Pytorch :从零搭建一个神经网络