文章目录
前言
一、安装相对应的库
二、关于图片处理
1.关于RemoveBg
2.图片处理代码编写
3.窗口图片选择以及提示函数
4.可视化窗口
5.打包成exe程序
写在最后
前言
在校大学生,突然心血来潮写下这么一篇文章。
技术一般般,纯属业余水平,希望能与大神们互相探讨。
本来是想用opencv来对图片进行处理的,但是自身能力有限,对opencv不是特别熟练,所以在这里针对图片处理我选择调用removebg的API来对图片进行去除背景的处理。removebg处理后的图片效果确实可以。
废话不多说,跟着一起学习一下叭!Go!Go!Go!
一、安装相对应的库
使用命令安装
用上面这行命令即可安装库。在这里,需要安装tkinter(tkinter现在的python是自带有的,如果没有那就装一下)、Image、RemoveBg库。
安装好就可以直接导入库了。
部分代码如下:
二、关于图片处理
1.关于RemoveBg
remove.bg 的使用非常的简单傻瓜,打开速度、图片上传和相应速度也非常快, 站上也没有过多的操作按钮,选择图片上传后,只需要等待几秒,图片就处理完成了。
当然,RemoveBg也为我们这些开发人员提供了API,使用起来非常方便。
点此跳转到RemoveBg官 申请API 使用邮箱注册就可以获取API了,非常简单。复制API到代码中就行了。RemoveBg也提供有开发文档可以查看,想了解更多的可以去看一看。还有在线去除背景等。跳转RemoveBg官 首页
2.图片处理代码编写
(在这我说明一下,以下代码段的编写均为后面打包exe后缀文件而编写的,如需单独编写则需要更改部分代码。)
这样我们就能得到一张已经将背景去除的图片,并且会自动保存到原图所在的路径中。然后然后,我们还需要写几个函数,函数用来对刚刚去除背景的图片换上新的背景颜色。在这呢,我写了三个函数,分别对应着红色背景、蓝色背景、白色背景这三个颜色。
在这使用的这换背景的方法也是比较好理解,就是获取已经去除背景的那张图片的大小尺寸,然后新建一个图片文件,大小就跟没有背景的那张图片一样大,然后将没有背景的图片叠加到新建的图片中,就这样,搞定。在这我就写出一种颜色背景的方法,剩下的雷同我就不多赘述。
在这我说一下,图片的背景颜色大家可以自定义更换,更换RGB的值即可。这里需要注意一点:更换后的图片尺寸是和原图尺寸一样的,在这里我并没有对图片的尺寸进行更改。
部分代码如下:
3.窗口图片选择以及提示函数
细心的小伙伴可能就发现了,前面的图片处理代码中都写有提示函数,这个只需两行代码就可以搞定了。还有既然是exe程序,那如何选择图片文件呢常简单,接下来我们就一起看看。
首先先将提示函数来写一下,其他的按照需要的更改一下就完事了。
部分代码如下:
然后就是选择图片的函数了,使用tkinter的选择路径函数,对图片进行选择。选择后,需要对路径的符 进行处理。使用replace转换一下符 就搞定了。最后存储一下路径。
部分代码如下:
4.可视化窗口
图片处理的搞定了,接下来就是将这些操作“包装”起来,做成可视化窗口的形式。可视化窗口的话我在这使用python自带的tkinter库。轻量级应用足够使用了,关键是简单,非常容易上手。
先来看看我所写的窗口效果图??
界面做的比较简陋,主要追求实用性?? 有需要可以后期加工一下,将界面美化美化。
首先新建一个窗口,定义窗口的标题、窗口的大小等。
然后在窗口排版方面我分为四个子框架来编排。在第一个子框架中,为待处理照片的操作,包括可供选择图片的按钮以及显示选择图片后调用前面写过的函数转换路径符 后的路径。
部分代码如下:
接下来是第二个框架,在第一个窗口中选择好了图片,就对其进行去除背景的操作,原理也很简单,写个按钮调用去除背景的函数就可以达到去除背景的效果了。
部分代码如下:
去除背景后在第三个子框架中对存储路径进行选择,这里跟前面的选择图片类似。
部分代码如下:
最后一个子框架,也就是关于更换底色的。这里我编写了三种颜色,与前面相对应,分别是红色背景、蓝色背景和白色背景。关于更换底色的操作我在前面已经说过了,这里就直接写窗口代码。
部分代码如下:
关于所更换的背景颜色,不一定固定这三种颜色,可以根据自己的喜好在前面的更换背景颜色中自由更改颜色(RGB)的值。这里需要注意一点,更换底色的是独立的按钮,每个按钮都是不同的底色,在第三个子框架中选择好存储路径以及存储文件名后即可点击,需要对同一张图片更换多种底色时,需在更换一次后重新对存储的文件名命名。
5.打包成exe程序
使用python库pyinstaller打包exe程序
安装pyinstaller:
打包命令:
关于打包命令中的参数:
参数名 | 描述 | 说明 |
-i | 为main.exe指定图标 | pyinstaller -i beauty.ico main.py |
-w | 不显示命令行窗口 | 编写GUI程序时使用此参数有用。 |
-c | 显示命令行窗口 | 与-w相反,默认含有此参数 |
-F | 生成one-file的程序 | 生成结果是一个exe文件,所有的第三方依赖、资源和代码均被打包进该exe内 |
“-i”可不使用,如果打包后遇到问题无法运行exe程序,可将“-w”去掉重新运行打包命令进行打包,在打开程序时弹出的命令行窗口中检查出现什么问题,进而去解决 错问题。(比较常见的是缺少库)
如果测试没问题,那就完成啦!
写在最后
关于这篇文章
文章内容都是基础知识,界面做的比较简陋,主要是实用性就OK啦,大神们如有任何问题都可提出。
最后,希望这篇文章能够帮助更多的人学习到更多东西。
文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树预备知识常用开发工具208252 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!