码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【批量去除图片的背景】


    有一个需求,需要批量去除图片的背景,在网上搜到下面这个方法:【python】backgroundremover 去除背景_LiuPig刘皮哥的博客-CSDN博客GitHubhttps://github.com/nadermx/backgroundremoverBackgroundRemover 是一个命令行工具,用于从视频 和图像中删除背景,由nadermx 制作以支持https://BackgroundRemover.app。安装pip install backgroundremover使用import os# # C:\Users\dududada\.u2net\u2net_human_seg.pthos.system('back.https://blog.csdn.net/qq_27093891/article/details/122223018

    这个不一定要在 python 的环境运行,用 shell 命令直接运行即可

    1. backgroundremover -i " /path/to/image.jpeg " -o " output.png "

    如果没有科学上网,需要下载预训练包,下载地址:

    u2net.pth 下载地址https://github.com/OPHoperHPO/image-background-remove-tool/releases/download/3.2/u2net.pth然后放到合适的位置,比如  /Users/myname/.u2net/

    但是,这个只能去除一张照片,现在写个脚本,以便批量处理:

    1. #!/bin/bash
    2. find ./归档 -name "*.JPG" > in.txt
    3. find ./归档 -name "*.JPG" | awk -vb=./归档_结果/ -F '[ /]' '{jpgOut=b$3;print jpgOut}' > out.txt
    4. exec 3<"in.txt"
    5. exec 4<"out.txt"
    6. while read line1<&3 && read line2<&4
    7. do
    8. echo $line1 $line2
    9. backgroundremover -i $line1 -o $line2
    10. done

    假设我现在需要批量处理的图片的路径是 /Users/Downloads/tmp/归档

    那么 cd 到 /Users/Downloads/tmp,然后:

    1.新建文件夹

    makir 归档_结果

    现在生成了一个空目录 /Users/Downloads/tmp/归档_结果,生成的图片将保存在这里面

    2.新建脚本

    vim doit.sh

    打开脚本后输入以下内容

    1. #!/bin/bash
    2. find ./归档 -name "*.JPG" > in.txt
    3. find ./归档 -name "*.JPG" | awk -vb=./归档_结果/ -F '[ /]' '{jpgOut=b$3;print jpgOut}' > out.txt
    4. exec 3<"in.txt"
    5. exec 4<"out.txt"
    6. while read line1<&3 && read line2<&4
    7. do
    8. echo $line1 $line2
    9. backgroundremover -i $line1 -o $line2
    10. done

    保存退出后执行:

    sh doit.sh

    搞定 

  • 相关阅读:
    设计模式之代理模式
    使用RestSharp和C#编写程序
    大一学生《Web编程基础》HTML实例网页代码 HTML+CSS+JS 黑色横排的个人主页作品
    Linux Kernel Module知识大全之一(基础)
    Chrome调试工具和Emmet语法
    uniapp进行表单效验
    collections 集合操作的工具类及其方法的概述
    1347. 制造字母异位词的最小步骤数 (中等,Counter)
    Springboot踩坑-request body重复读问题
    react router v6实现useHistory与自定义history设计思路
  • 原文地址:https://blog.csdn.net/Stupid_human/article/details/126352299
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号