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

【教程】去水印开源工具Lama Cleaner在Windows的安装和使用

一、Lama Cleaner是什么?

Lama Cleaner是一款开源且免费的人工学习图片去水印程序(个人主要学习用途),没有图片分辨率限制(个人使用暂未发现),并且保存的图片质量很高(个人觉得跟原图差不多),还能下载处理后的图片到本地。

项目地址:https://github.com/Sanster/lama-cleaner
原作者:Sanster

截止到目前(2023-03-01)仍然在更新,最新版为0.37.0。

注:作者好像部署了一个在线程序,感兴趣的可以直接在线使用:
https://huggingface.co/spaces/Sanster/Lama-Cleaner-lama
不过在线程序网站经常报错504…(所以我才想本地部署[无奈.jpg])

二、安装

本人直接在windows下使用python的pip安装。

1、安装python环境

python官网:https://www.python.org/

注:这里我选择python3.7.9版(https://www.python.org/downloads/release/python-379/),如下图
在这里插入图片描述
安装时把环境都搞定,包括pippath(环境变量),省事。

注:我试了下python免安装的embed版,然后安装pip,再安装lama-cleaner出现模块ffmpy不能安装的情况,定位问题失败,所以最后直接用了windows安装版。

注:因为3.7.9安装后的pip不是最新版,建议手动更新pip,在cmd执行:python -m pip install --upgrade pip

2、安装torch(可跳过,如果你想用GPU加速建议先安装)

项目文档中有一段:

# In order to use the GPU, install cuda version of pytorch first.
# pip install torch==1.13.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117

启动cmd,定位进入python根目录(python.exe的位置)
执行pip install torch==1.13.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117
等待安装完成。

3、安装lama-cleaner

启动cmd,定位进入python根目录(python.exe的位置)
执行pip install lama-cleaner
等待安装完成。

4、下载训练模块(可跳过,但启动lama-cleaner时程序会从github下载,比较慢,建议自行下载)

文件名下载网址(复制并用下载软件添加下载任务)
big-lama.pthttps://github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt
clickseg_pplnet.pthttps://github.com/Sanster/models/releases/download/clickseg_pplnet/clickseg_pplnet.pt

big-lama.ptclickseg_pplnet.pt下载后放到C:\Users\[用户名]\.cache\torch\hub\checkpoints\
比如我操作系统当前用户名是xiaoyao,那么就放到C:\Users\xiaoyao\.cache\torch\hub\checkpoints\

5、启动lama-cleaner程序

启动cmd,定位进入python根目录(python.exe的位置)
执行lama-cleaner --model=lama --device=cpu --port=8080
--model=lama表示后训练模型为lama(建议保持默认)
--device=cpu表示渲染硬件为cpu(如果有nvidia独立显卡的可以考虑用cuda进行渲染加速,即:--device=cuda
--port=8080表示访问端口为8080(一般默认,可自行更改,比如我不想占用端口就改成8088了)

等待启动完成。
启动成功的示例:

D:\developmentEnvironment\python\Python37>lama-cleaner --model=lama --device=cuda --port=8088
- Platform: Windows-10-10.0.22621-SP0
- Python version: 3.7.9
- torch: 1.13.1+cu117
- Pillow: 9.4.0
- diffusers: 0.12.1
- transformers: 4.26.1
- opencv-python: 4.7.0.72
- xformers: N/A
- accelerate: 0.16.0
- lama-cleaner: 0.37.12023-03-04 20:09:31.230 | INFO     | lama_cleaner.parse_args:parse_args:141 - Create model cache directory: C:\Users\xiaoyao\.cache
Downloading: "https://github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt" to C:\Users\xiaoyao\.cache\torch\hub\checkpoints\big-lama.pt
100%|██████████████████████████████████████████| 196M/196M [21:30<00:00, 159kB/s]
2023-03-04 20:31:06.067 | INFO     | lama_cleaner.helper:download_model:52 - Download model success, md5: e3aa4aaa15225a33ec84f9f4bc47e500
2023-03-04 20:31:06.069 | INFO     | lama_cleaner.helper:load_jit_model:102 - Loading model from: C:\Users\xiaoyao\.cache\torch\hub\checkpoints\big-lama.pt
Downloading: "https://github.com/Sanster/models/releases/download/clickseg_pplnet/clickseg_pplnet.pt" to C:\Users\xiaoyao\.cache\torch\hub\checkpoints\clickseg_pplnet.pt
100%|███████████████████████████████████████| 12.1M/12.1M [00:06<00:00, 2.01MB/s]
2023-03-04 20:31:14.789 | INFO     | lama_cleaner.helper:download_model:52 - Download model success, md5: 8ca44b6e02bca78f62ec26a3c32376cf
2023-03-04 20:31:14.790 | INFO     | lama_cleaner.helper:load_jit_model:102 - Loading model from: C:\Users\xiaoyao\.cache\torch\hub\checkpoints\clickseg_pplnet.pt* Running on http://127.0.0.1:8088/ (Press CTRL+C to quit)

启动成功后会提示网址,直接用浏览器打开即可,如下图:
在这里插入图片描述

操作简述:

点击左上角选择图片,底下Brush是刷子大小,图片可以用鼠标滚轮放大和缩小。
用鼠标在需要清除的水印(或污点?)拖拉覆盖(这个不用我演示了吧…用过ps的都懂),等待程序处理。
效果不满意就撤销,或者继续刷…满意后点下载按钮保存到本地即可。

本文为个人原创,供学习备忘,创作时间2023-03-04,如需转载请说明出处,感谢各位的阅读。

相关文章:

【教程】去水印开源工具Lama Cleaner在Windows的安装和使用

一、Lama Cleaner是什么&#xff1f; Lama Cleaner是一款开源且免费的人工学习图片去水印程序&#xff08;个人主要学习用途&#xff09;&#xff0c;没有图片分辨率限制&#xff08;个人使用暂未发现&#xff09;&#xff0c;并且保存的图片质量很高&#xff08;个人觉得跟原…...

驾考笔记_2023

科目一1> 扣分制度1.1> 超速1.2> 超载1.3> 车牌1.4> 速记口诀2> 满分学习2.1> 消分学习2.2> 满分重考&#xff1b;3> 罚款 / 判刑3.1> 考证3.2> 审验教育3.3> 酒驾3.4> 200&#xffe5;3.5> 500&#xffe5;3.6> 2000&#xffe5…...

【架构师】跟我一起学架构——调用链

博客昵称&#xff1a;架构师Cool 最喜欢的座右铭&#xff1a;一以贯之的努力&#xff0c;不得懈怠的人生。 作者简介&#xff1a;一名Coder&#xff0c;软件设计师/鸿蒙高级工程师认证&#xff0c;在备战高级架构师/系统分析师&#xff0c;欢迎关注小弟&#xff01; 博主小留言…...

[神经网络]Swin Transformer网络

一、概述 Swin Transformer是一个用了移动窗口的层级式Vision Transformer。 在图像领域&#xff0c;Transformer需要解决如下两个问题&#xff1a; ①尺度问题&#xff1a;同一语义的物体在图像中有不一样的尺度。(大小不同) ②Resolution过大&#xff1a;若以像素点作为单位&…...

【分布式】什么是分布式,分布式和集群的区别又是什么?答案在正文。

文章目录1. 什么是分布式 ?2. 分布式与集群的区别 ?3.用一个请求串起来4.一个简化的架构图5.分布式环境的特点6.分布式环境下面临的问题7.总结1. 什么是分布式 ? 分布式系统一定是由多个节点组成的系统。 其中&#xff0c;节点指的是计算机服务器&#xff0c;而且这些节点一…...

MyBatis框架的入门案例

MyBatis框架的入门案例 资源地址&#xff1a;https://download.csdn.net/download/weixin_41957626/87531373 1.MyBatis的配置 环境&#xff1a;基于maven的结构 1.1目录结构 1.2依赖包 <dependencies><!--mybatis--><dependency><groupId>org.mybatis…...

红黑树-随记

文章目录1.为什么hashmap用红黑树不用二叉树和平衡二叉树1.1 二叉树&#xff08;Binary Search Tree&#xff09;1.2 红黑树&#xff08;Red Black Tree&#xff09;1.3 平衡二叉树&#xff08;Balence Binary Tree&#xff09;也称AVT2.为什么mysql用b数&#xff0c;不用B数或…...

Python异常处理更新,正常和不正常的都在这里

嗨害大家好鸭&#xff01;我是小熊猫~ 异常处理篇嗨害大家好鸭&#xff01;我是小熊猫~Python标准异常&#x1f4a8;什么是异常&#xff1f;不正常异常处理&#x1f4a8;使用except而不带任何异常类型使用except而带多种异常类型try-finally 语句异常的参数触发异常用户自定义异…...

[数据结构]:10-二叉排序树(无头结点)(C语言实现)

目录 前言 已完成内容 二叉排序树实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-BinarySearchTreeCommon.cpp 04-BinarySearchTreeFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容&#xff0c;除其中使用到C引用外&#xff0c;全为C语言…...

openstack浅析

** OpenStack是一个由多个组件组成的开源云计算平台&#xff0c;每个组件都有不同的功能和用途。 ** 组件构成 以下是OpenStack中一些常见的组件及其功能&#xff1a; Nova&#xff1a;用于管理虚拟机的组件&#xff0c;提供了虚拟机的创建、销毁、管理等功能。 Neutron&am…...

华为OD机试Golang解题 - 特异性双端队列 | 含思路

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典文章目录 华为Od必看系列使用说明本期题目…...

代码随想录中:回溯算法的基础

回溯算法是一种暴力的搜索方式&#xff1b;回溯法一般与递归同时存在。 回溯法&#xff0c;一般可以解决如下几种问题&#xff1a; 组合问题&#xff1a;N个数里面按一定规则找出k个数的集合切割问题&#xff1a;一个字符串按一定规则有几种切割方式子集问题&#xff1a;一个…...

Android kotlin 系列讲解(进阶篇)Jetpack系列之LiveData

<<返回总目录 文章目录 一、LiveData是什么二、LiveData测试一、LiveData是什么 LiveData是Jetpack提供的一种响应式编程组件,它可以包括任何类型的数据,并在数据发生变化的时候通知给观察者。LiveData特别适合与ViewModel结合在一起使用,虽然它也可以单独在别的地方…...

如何判断有向无环图:构造有向无环图

拓扑序列&#xff1a;可以用来判断一个有向图是否有环&#xff01; 拓扑排序可以判断有向图是否存在环。我们可以对任意有向图执行上述过程&#xff0c;在完成后检查A序列的长度。 若A序列的长度小于图中点的数量&#xff0c;则说明某些节点未被遍历&#xff0c;进而说明图中存…...

【2022.1.3】手脱压缩壳练习(含练习exe)

【2022.1.3】手脱压缩壳练习&#xff08;含练习exe&#xff09; 文章目录【2022.1.3】手脱压缩壳练习&#xff08;含练习exe&#xff09;0、简介1、单步跟踪法&#xff08;#&#xff09;方法介绍&#xff08;0&#xff09;练习exe下载&#xff08;1&#xff09;、查看源程序&am…...

【异或哈希】CF855 div3 F

感觉这道题跟之前有一题特别像&#xff0c;都是异或哈希感觉这种题应该很典&#xff0c;记录一下(66条消息) Codeforces Round #841 (Div. 2) and Divide by Zero【异或差分动态map维护】 2022 C. Even Subarrays_lamentropetion的博客-CSDN博客Problem - F - Codeforces题意&a…...

深度学习|改进两阶段鲁棒优化算法i-ccg

目录 1 主要内容 2 改进算法 2.1 CC&G算法的优势 2.2 i-CCG算法简介 3 结果对比 1 主要内容 自从2013年的求解两阶段鲁棒优化模型的列和约束生成算法&#xff08;CC&G&#xff09;被提出之后&#xff0c;基本没有实质性的创新&#xff0c;都是围绕该算法在各个领…...

C++11轻松打印本地时间

C11之前&#xff0c;想要获取时间并对其打印是有些困难的&#xff0c;因为C并没有标准时间库。想要对时间进行统计就需要调用C库&#xff0c;并且我们要考虑这样的调用是否能很好的封装到我们的类中。 C11之后&#xff0c;STL提供了 chrono 库&#xff0c;其让对时间的操作更加…...

Eureka - 总览

文章目录前言架构注册中心 Eureka Server服务提供者 Eureka Client服务消费者 Eureka Client总结资源前言 微服务&#xff08;Microservices&#xff0c;一种软件架构风格&#xff09;核心的组件包括注册中心&#xff0c;随着微服务的发展&#xff0c;出现了很多注册中心的解决…...

【算法设计-枚举、分治】素数、约数、质因数分解

文章目录1. 素数判定2. 素数筛选法3. 质因数分解4. 求一个数的约数5. 求两个数的最大公约数&#xff08;GCD&#xff09;6. 求两个数的最小公倍数&#xff08;LCM&#xff09;1. 素数判定 判定从 2 到sqrt(n)依次能否把 n 整除&#xff0c;若存在可以整除的数则说明 n 不是素数…...

【第十四届蓝桥杯】第三期模拟赛B组C++题解(待修正+持续更新-ing)

文章目录写在前面一、找最小数题目描述解题报告1、大体思路2、代码详解二、求列名题目描述解题报告1、大体思路2、代码详解三、求日期数题目描述解题报告1、大体思路2、代码详解四、取数题目描述解题报告1、大体思路2、代码详解五、最大连通分块题目描述解题报告1、大体思路2、…...

线程池和ThreadLocal详解

线程池和ThreadLocal详解线程池池化模式&#xff1a;线程池里的线程数量设定为多少比较合适?添加线程规则&#xff1a;实现原理&#xff1a;线程池实现任务复用的原理线程池状态&#xff1a;Executors 创线程池工具类手动创建&#xff08;更推荐&#xff09;&#xff1a;自动创…...

[深入理解SSD系列综述 1.7] SSD固态存储市场发展分析与预测_固态存储技术发展方向(2022to2023)

前言 自2020年疫情爆发以来,远程办公、网上教育、流媒体等等应用引爆对消费电子及云服务的需求增长,全球数字化转型加速,带来了两年的闪存风光时刻。然而,进入2022年,在俄乌冲突、疫情重燃、通胀上升等一系列事件冲击下,全球经济下行风险加剧,对智能手机、PC等科技产品的…...

【2021.12.25】ctf逆向中常见加密算法和编码识别

【2021.12.25】ctf逆向中常见加密算法和编码识别&#xff08;含exe及wp&#xff09; 文章目录【2021.12.25】ctf逆向中常见加密算法和编码识别&#xff08;含exe及wp&#xff09;0、前言1、基础加密手法2、base64&#xff08;1&#xff09;原理&#xff1a;&#xff08;2&#…...

【数据结构初阶】堆排序

目录 前言 概念 堆排序的实现 1.建堆 &#xff08;1&#xff09;堆向上调整算法 &#xff08;2&#xff09;堆的向下调整算法 2. 利用堆删除思想来进行排序 3.堆排序的时间复杂度 4.源码 总结 前言 前边我们学习了堆的实现&#xff0c;对堆的每个接口都进行了详细的讲…...

Day5: platformDriver-1

Platform Driver (1) Linux kernel中大部分设备可以归结为平台设备&#xff0c;因此大部分的驱动是平台驱动&#xff08;patform driver&#xff09; 什么是平台设备 平台设备是linux的设备模型中一类设备的抽象。 内核中的描述&#xff1a; Platform devices are devices t…...

开发手册——一、编程规约_7.控制语句

这篇文章主要梳理了在java的实际开发过程中的编程规范问题。本篇文章主要借鉴于《阿里巴巴java开发手册终极版》 下面我们一起来看一下吧。 1. 【强制】在一个 switch 块内&#xff0c;每个 case 要么通过 break / return 等来终止&#xff0c;要么注释说明程序将继续执行到哪…...

python每日学9 : windows上配置gitee的远程仓库,git的初步使用

在开发中&#xff0c;如果遇到复杂的项目&#xff0c;使用版本控制是非常有必要的&#xff0c;如果涉及到多端开发&#xff0c;那么还需要使用远程仓库。本文作个简单记录&#xff0c;记录下git初步使用。 1 下载与安装 git还有几个ui版本&#xff0c;但是开始使用的话&#…...

精确率与召回率,ROC曲线与PR曲线

精确率与召回率&#xff0c;ROC曲线与PR曲线 在机器学习的算法评估中&#xff0c;尤其是分类算法评估中&#xff0c;我们经常听到精确率(precision)与召回率(recall)&#xff0c;ROC曲线与PR曲线这些概念&#xff0c;那这些概念到底有什么用处呢&#xff1f; 首先&#xff0c…...

现代操作系统——Linux架构与学习

小白的疑惑 在我决定从事嵌入式&#xff08;应用层&#xff09;方面的工作时&#xff0c;我查询了大量资料该如何学习&#xff0c;几乎所有观点不约而同的都指向了学习好Linux&#xff0c;大部分工作都是在Linux环境下来进行工作的。于是我雄心勃勃的去下载Linux&#xff0c;可…...