【教程】去水印开源工具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/),如下图

安装时把环境都搞定,包括pip、path(环境变量),省事。
注:我试了下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.pt | https://github.com/Sanster/models/releases/download/add_big_lama/big-lama.pt |
| clickseg_pplnet.pt | https://github.com/Sanster/models/releases/download/clickseg_pplnet/clickseg_pplnet.pt |
将big-lama.pt和clickseg_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是什么? Lama Cleaner是一款开源且免费的人工学习图片去水印程序(个人主要学习用途),没有图片分辨率限制(个人使用暂未发现),并且保存的图片质量很高(个人觉得跟原…...
驾考笔记_2023
科目一1> 扣分制度1.1> 超速1.2> 超载1.3> 车牌1.4> 速记口诀2> 满分学习2.1> 消分学习2.2> 满分重考;3> 罚款 / 判刑3.1> 考证3.2> 审验教育3.3> 酒驾3.4> 200¥3.5> 500¥3.6> 2000¥…...
【架构师】跟我一起学架构——调用链
博客昵称:架构师Cool 最喜欢的座右铭:一以贯之的努力,不得懈怠的人生。 作者简介:一名Coder,软件设计师/鸿蒙高级工程师认证,在备战高级架构师/系统分析师,欢迎关注小弟! 博主小留言…...
[神经网络]Swin Transformer网络
一、概述 Swin Transformer是一个用了移动窗口的层级式Vision Transformer。 在图像领域,Transformer需要解决如下两个问题: ①尺度问题:同一语义的物体在图像中有不一样的尺度。(大小不同) ②Resolution过大:若以像素点作为单位&…...
【分布式】什么是分布式,分布式和集群的区别又是什么?答案在正文。
文章目录1. 什么是分布式 ?2. 分布式与集群的区别 ?3.用一个请求串起来4.一个简化的架构图5.分布式环境的特点6.分布式环境下面临的问题7.总结1. 什么是分布式 ? 分布式系统一定是由多个节点组成的系统。 其中,节点指的是计算机服务器,而且这些节点一…...
MyBatis框架的入门案例
MyBatis框架的入门案例 资源地址:https://download.csdn.net/download/weixin_41957626/87531373 1.MyBatis的配置 环境:基于maven的结构 1.1目录结构 1.2依赖包 <dependencies><!--mybatis--><dependency><groupId>org.mybatis…...
红黑树-随记
文章目录1.为什么hashmap用红黑树不用二叉树和平衡二叉树1.1 二叉树(Binary Search Tree)1.2 红黑树(Red Black Tree)1.3 平衡二叉树(Balence Binary Tree)也称AVT2.为什么mysql用b数,不用B数或…...
Python异常处理更新,正常和不正常的都在这里
嗨害大家好鸭!我是小熊猫~ 异常处理篇嗨害大家好鸭!我是小熊猫~Python标准异常💨什么是异常?不正常异常处理💨使用except而不带任何异常类型使用except而带多种异常类型try-finally 语句异常的参数触发异常用户自定义异…...
[数据结构]:10-二叉排序树(无头结点)(C语言实现)
目录 前言 已完成内容 二叉排序树实现 01-开发环境 02-文件布局 03-代码 01-主函数 02-头文件 03-BinarySearchTreeCommon.cpp 04-BinarySearchTreeFunction.cpp 结语 前言 此专栏包含408考研数据结构全部内容,除其中使用到C引用外,全为C语言…...
openstack浅析
** OpenStack是一个由多个组件组成的开源云计算平台,每个组件都有不同的功能和用途。 ** 组件构成 以下是OpenStack中一些常见的组件及其功能: Nova:用于管理虚拟机的组件,提供了虚拟机的创建、销毁、管理等功能。 Neutron&am…...
华为OD机试Golang解题 - 特异性双端队列 | 含思路
华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典文章目录 华为Od必看系列使用说明本期题目…...
代码随想录中:回溯算法的基础
回溯算法是一种暴力的搜索方式;回溯法一般与递归同时存在。 回溯法,一般可以解决如下几种问题: 组合问题:N个数里面按一定规则找出k个数的集合切割问题:一个字符串按一定规则有几种切割方式子集问题:一个…...
Android kotlin 系列讲解(进阶篇)Jetpack系列之LiveData
<<返回总目录 文章目录 一、LiveData是什么二、LiveData测试一、LiveData是什么 LiveData是Jetpack提供的一种响应式编程组件,它可以包括任何类型的数据,并在数据发生变化的时候通知给观察者。LiveData特别适合与ViewModel结合在一起使用,虽然它也可以单独在别的地方…...
如何判断有向无环图:构造有向无环图
拓扑序列:可以用来判断一个有向图是否有环! 拓扑排序可以判断有向图是否存在环。我们可以对任意有向图执行上述过程,在完成后检查A序列的长度。 若A序列的长度小于图中点的数量,则说明某些节点未被遍历,进而说明图中存…...
【2022.1.3】手脱压缩壳练习(含练习exe)
【2022.1.3】手脱压缩壳练习(含练习exe) 文章目录【2022.1.3】手脱压缩壳练习(含练习exe)0、简介1、单步跟踪法(#)方法介绍(0)练习exe下载(1)、查看源程序&am…...
【异或哈希】CF855 div3 F
感觉这道题跟之前有一题特别像,都是异或哈希感觉这种题应该很典,记录一下(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年的求解两阶段鲁棒优化模型的列和约束生成算法(CC&G)被提出之后,基本没有实质性的创新,都是围绕该算法在各个领…...
C++11轻松打印本地时间
C11之前,想要获取时间并对其打印是有些困难的,因为C并没有标准时间库。想要对时间进行统计就需要调用C库,并且我们要考虑这样的调用是否能很好的封装到我们的类中。 C11之后,STL提供了 chrono 库,其让对时间的操作更加…...
Eureka - 总览
文章目录前言架构注册中心 Eureka Server服务提供者 Eureka Client服务消费者 Eureka Client总结资源前言 微服务(Microservices,一种软件架构风格)核心的组件包括注册中心,随着微服务的发展,出现了很多注册中心的解决…...
【算法设计-枚举、分治】素数、约数、质因数分解
文章目录1. 素数判定2. 素数筛选法3. 质因数分解4. 求一个数的约数5. 求两个数的最大公约数(GCD)6. 求两个数的最小公倍数(LCM)1. 素数判定 判定从 2 到sqrt(n)依次能否把 n 整除,若存在可以整除的数则说明 n 不是素数…...
(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)
题目:3442. 奇偶频次间的最大差值 I 思路 :哈希,时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况,哈希表这里用数组即可实现。 C版本: class Solution { public:int maxDifference(string s) {int a[26]…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
Linux-07 ubuntu 的 chrome 启动不了
文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了,报错如下四、启动不了,解决如下 总结 问题原因 在应用中可以看到chrome,但是打不开(说明:原来的ubuntu系统出问题了,这个是备用的硬盘&a…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
