使用稳定的扩散V上的笔记本电脑上的AI驱动图像处理 – 这比您想象的要容易!

这个脚本利用稳定的扩散v1.5从拥抱面孔的扩散器库来基于给定文本提示符生成图像变化。通过使用火炬和pil,它处理输入图像,应用ai驱动的转换并保存结果。

您可以克隆此回购以获取代码https://github.com/alexander-uspenskiy/image_variations>

源代码:

import torchfrom diffusers import StableDiffusionImg2ImgPipelinefrom PIL import Imageimport requestsfrom io import BytesIOdef load_image(image_path, target_size=(768, 768)):    """    Load and preprocess the input image    """    if image_path.startswith('http'):        response = requests.get(image_path)        image = Image.open(BytesIO(response.content))    else:        image = Image.open(image_path)    # Resize and preserve aspect ratio    image = image.convert("RGB")    image.thumbnail(target_size, Image.Resampling.LANCZOS)    # Create new image with padding to reach target size    new_image = Image.new("RGB", target_size, (255, 255, 255))    new_image.paste(image, ((target_size[0] - image.size[0]) // 2,                           (target_size[1] - image.size[1]) // 2))    return new_imagedef generate_image_variation(    input_image_path,    prompt,    model_id="stable-diffusion-v1-5/stable-diffusion-v1-5",    num_images=1,    strength=0.75,    guidance_scale=7.5,    seed=None):    """    Generate variations of an input image using a specified prompt    Parameters:    - input_image_path: Path or URL to the input image    - prompt: Text prompt to guide the image generation    - model_id: Hugging Face model ID    - num_images: Number of variations to generate    - strength: How much to transform the input image (0-1)    - guidance_scale: How closely to follow the prompt    - seed: Random seed for reproducibility    Returns:    - List of generated images    """    # Set random seed if provided    if seed is not None:        torch.manual_seed(seed)    # Load the model    device = "cuda" if torch.cuda.is_available() else "cpu"    pipe = StableDiffusionImg2ImgPipeline.from_pretrained(        model_id,        torch_dtype=torch.float16 if device == "cuda" else torch.float32    ).to(device)    # Load and preprocess the input image    init_image = load_image(input_image_path)    # Generate images    result = pipe(        prompt=prompt,        image=init_image,        num_images_per_prompt=num_images,        strength=strength,        guidance_scale=guidance_scale    )    return result.imagesdef save_generated_images(images, output_prefix="generated"):    """    Save the generated images with sequential numbering    """    for i, image in enumerate(images):        image.save(f"images-out/{output_prefix}_{i}.png")# Example usageif __name__ == "__main__":    # Example parameters    input_image = "images-in/Image_name.jpg"  # or URL    prompt = "Draw the image in modern art style, photorealistic and detailed."    # Generate variations    generated_images = generate_image_variation(        input_image,        prompt,        num_images=3,        strength=0.75,        seed=42  # Optional: for reproducibility    )    # Save the results    save_generated_images(generated_images)

它的工作原理:

>加载和预处理输入图像

接受本地文件路径和url。

>将图像转换为rgb格式,并将其调整为768×768,以维持纵横比。
添加填充以适合目标尺寸。
初始化稳定扩散v1.5

>将模型加载在cuda上(如果有)或落回cpu。使用stablediffusionimg2imgpipeline处理输入映像。生成ai修改的图像变化

添加文本提示来指导转换。
强度(0-1)和引导量表(更高=更严格的提示依从性)等参数允许自定义。

每个提示支持多个输出图像。

将结果保存到图像输出目录。

>输出带有顺序命名方案的生成图像(生成_0.png,生成_1.png等)。

示例用例

>您可以使用以下提示来将一个人的图像转换为中世纪的国王提示=“在中世纪的环境中,将这个人当作强大的国王,逼真的和详细的。

初始图像:

结果:

image description

cons&pros

cons:image description

在某些硬件配置上可能会很慢。

小尺寸模型限制。

pros:>在本地运行(不需要云服务)。用于微调输出的可自定义参数。

可重现的可选随机种子。

以上就是使用稳定的扩散V上的笔记本电脑上的AI驱动图像处理 – 这比您想象的要容易!的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1355823.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月13日 19:28:10
下一篇 2025年12月13日 19:28:22

相关推荐

  • 一天 – python中的论点类型

    Python 函数参数类型详解 本文将深入探讨 Python 函数中各种参数类型,包括位置参数、可变参数、关键字参数、默认参数、关键字可变参数以及关键字仅参数,并结合实例进行讲解。 1. 位置参数: 位置参数按照传递顺序依次赋值给函数参数。 立即学习“Python免费学习笔记(深入)”; def g…

    2025年12月13日
    000
  • 分析我的OURA睡眠评分 – 是AI还是数学?

    我分析了我的oura环的睡眠评分数据,以确定oura的睡眠评分算法是否依赖于复杂的ai,还是可以用简单的数学公式来解释。我的假设是,更长的深度睡眠时间和更低的心率与更高的睡眠评分相关。 我使用Oura开发者API提取了我的睡眠数据,并将其导入Elasticsearch进行分析。 我首先检索了睡眠评分…

    2025年12月13日 好文分享
    000
  • 出售整个Midjourney API后端!

    mjapi.io后端源代码现已公开!这是一个重要的里程碑,标志着我们图像生成模型访问方式的重大转变。 为什么进行架构升级? 原Python后端虽适合个人用户,但难以应对数百并发用户的扩展需求。 此版本包含: 完整的SaaS后端: 集成支付、用户验证、垃圾邮件检测、任务队列等功能,约50%代码可复用。…

    2025年12月13日
    000
  • 你好开发社区!介绍PydanticRPC:构建GRPC并连接RPC服务,而无需手动编写Protobuf文件

    pydanticrpc:无需protobuf文件即可构建grpc和连接rpc服务 本文介绍一个名为PydanticRPC的Python库,它能够自动生成gRPC或连接RPC服务,而无需手动编写Protobuf文件。 该库简化了RPC服务的创建流程,提高了开发效率。 概述 在Python中构建REST…

    2025年12月13日
    000
  • Python Day-参数类型,变量的类型

    参数类型: 1)位置参数2)可变长度参数3)关键字参数4)默认参数5)关键字仅参数6)位置仅参数7)可变默认参数 >参考:https://builtin.com/software-engineering-perspectives/arguments-in-python 1)位置参数: &#82…

    2025年12月13日
    000
  • NLP在网络安全中的作用:预测密码强度

    在一个以令人震惊的速度增加的网络威胁时,强大密码的重要性不能被夸大。根据安德森(2020)的说法,弱密码占与黑客相关的违规的80%以上。随着网络犯罪分子变得越来越复杂,对先进的安全措施的需求从未有所更大。自然语言处理(nlp)是人工智能的一个子集,被证明是增强网络安全的强大工具,尤其是在预测密码强度…

    2025年12月13日
    000
  • Day Recartory -TS + Python +重新申请和类型

    本文探讨了在Python中处理嵌套数据结构(字典和列表)中空字符串的通用方法。作者首先用TypeScript展示了递归处理的思路,然后逐步用Python实现,最终采用字典和列表推导式优化代码。 作者最初的Python代码采用迭代方式处理字典和列表,递归调用自身处理嵌套结构,将空字符串替换为&#822…

    2025年12月13日
    000
  • Python 缓存可变值

    Python缓存陷阱:可变对象与lru_cache 为了提升处理速度,缓存机制被广泛应用于各种系统,从cpu级别到数据库前端。缓存失效策略是缓存系统中一个复杂且重要的议题。本文将探讨一个看似简单却困扰开发者1.5年的缓存问题,以及如何通过简单的策略有效规避。 背景:本文作者在构建一个基于sklear…

    2025年12月13日
    000
  • 一天的天气仪表板:我如何构建一个用于API集成和云存储的Python项目

    30天天气仪表盘:一个基于Python的AWS S3天气数据应用程序 本项目是一个使用python和openweather api获取多个城市天气数据,并将其存储到aws s3存储桶中的应用程序。该项目旨在展示api集成、云资源管理和安全凭证处理的最佳实践。 主要功能: 获取指定城市的实时天气数据(…

    2025年12月13日 好文分享
    000
  • 使用 Cohere command-r 和 Streamlit 创建具有上下文检索功能的聊天机器人

    项目概述:Chatish——基于Cohere的智能文档交互应用 Chatish是一款创新的简化Web应用,利用Cohere的命令式语言模型,展现上下文检索的强大功能。它演示了现代AI如何通过智能、上下文感知的对话来改变文档交互方式。 架构组件: 应用由四个主要Python模块构成: app.py: …

    2025年12月13日
    000
  • 用SQLModel在Python中实现主动记录模式

    Python开发者在使用SQLModel时,常常怀念Rails中优雅的数据库交互方式。本文将介绍如何在Python中,借助SQLModel实现类似Rails的Active Record模式,兼顾类型安全和Python最佳实践。 许多从Ruby on Rails转到Python的开发者,都会想念Act…

    2025年12月13日
    000
  • 在Ubuntu上安装Pytorch和Jupyterlab

    请我喝杯咖啡☕ 第一步,更新您的Ubuntu系统: sudo apt update && sudo apt -y upgrade 确认Python版本: python3 –version# 例如:Python 3.12.3 根据您的Python版本安装venv: (例如,Pytho…

    2025年12月13日
    000
  • 分布式系统:设计可扩展的Python后端

    现代互联网应用几乎都是分布式系统,由多台协同工作的计算机或服务器组成。这种架构能够有效应对高并发用户访问,避免单机服务器带来的性能瓶颈。例如,一个大型网站若仅依靠单服务器运行,则在用户流量激增时容易出现卡顿和响应缓慢等问题。而分布式系统通过将应用拆分成多个独立服务,部署在不同的服务器上,并通过相互通…

    2025年12月13日
    000
  • [python] 如何在不使用pytz、dateutil的情况下转换不同时区的日期和时间

    tl;tr 使用datetime模块的astimezone方法。 from datetime import datetimefrom zoneinfo import zoneinfolt = datetime.now(tz=zoneinfo(“localtime”))lt.astimezone(zo…

    好文分享 2025年12月13日
    000
  • 使用 Nestjs、RAG、Prisma 和 Gemini API 构建上下文感知的待办事项列表

    本教程演示如何利用检索增强生成 (RAG) 技术构建一个具备上下文感知能力的待办事项列表应用。我们将结合Google Gemini API进行文本嵌入,借助pgvector高效管理向量数据,并使用Prisma和NestJS框架操作PostgreSQL数据库。此方案将实现诸如去重任务和基于上下文检索相…

    2025年12月13日
    000
  • 如何编写你的第一个人工智能:初学者指南

    人工智能(AI)正在彻底改变各行各业,而创建您的第一个AI项目将是一个令人兴奋的里程碑。本指南将引导您逐步创建一个简单的AI模型,为未来的探索奠定坚实的基础。 1. 明确问题 在开始编码之前,请确定您希望AI解决的具体问题。例如: 预测房屋价格(基于位置、大小等特征)。将图像分类为猫或狗等类别。 清…

    好文分享 2025年12月13日
    000
  • Smolagents简介

    Smolagents:简化AI代理开发 Hugging Face推出的Smolagents,让AI代理开发变得前所未有的轻松。AI代理能够自主完成用户或系统指令,并整合了网页搜索、代码工具等实用功能。它利用大型语言模型(LLM)与外部数据交互,充当系统内的决策和行动中介。 Smolagents优势:…

    好文分享 2025年12月13日
    000
  • PyTorch 中的 FiveCrop

    请我喝杯咖啡☕ *备忘录: 我的帖子解释了 oxfordiiitpet()。 fivecrop() 可以将图像裁剪为 5 个部分(左上、右上、左下、右下和中心),如下所示: *备忘录: 初始化的第一个参数是 size(required-type:int or tuple/list(int) or s…

    2025年12月13日 好文分享
    000
  • 最后,我的 FSM 库的应用程序! 11 月 11 日代码问世

    我们终于完成了 10 个谜题,超越了我之前的记录(尽管我还有第 24 天和第 25 天的时间来解决,而且我可能需要在第二部分中重新审视第 12 天)。巧合的是,我能够调整我的 fsm 库来解决第 11 天的问题。虽然这不是最有效的解决方案,但我很乐意分享它。 由 microsoft copilot …

    2025年12月13日
    000
  • 如何构建大型烧瓶应用程序 – 5 人最佳实践

    构建清晰、易于维护和扩展的Flask RESTful API至关重要。本文将介绍一些最佳实践,帮助您高效构建大型Flask应用。 项目结构 一个高效的Flask REST API项目结构如下: 项目/│├── app/│ ├── init.py│ ├── config.py│ ├── models/…

    2025年12月13日
    000

发表回复

登录后才能评论
关注微信