返回顶部
首页 > 资讯 > 后端开发 > Python >怎么利用Python实现一键将头像转成动漫风
  • 405
分享到

怎么利用Python实现一键将头像转成动漫风

2023-07-02 15:07:23 405人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“怎么利用python实现一键将头像转成动漫风”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么利用Python实现一键将头像转成动漫风”吧!PyQt5框架用Python编程语言

本篇内容主要讲解“怎么利用python实现一键将头像转成动漫风”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么利用Python实现一键将头像转成动漫风”吧!

PyQt5框架

Python编程语言来制作UI界面的框架有很多哈,大家原则上哪种框架用的顺手就用哪种框架,小编这里使用的是PyQt的框架,因为它支持手动绘制控件,并且可以动态加载,我们在PyCharm当中添加上QtDesigner作为外部工具,来进行界面设置,生成ui文件,步骤如下

怎么利用Python实现一键将头像转成动漫风

其中需要填写的内容当中:

  • Name:可以自己自定义

  • program:QtDesigner的安装路径,小编这里引用的是Anaconda下面安装的PyQt5-tools的相关文件

  • parameter:不填

  • directory:

在导入成功之后,我们打开QtDesigner的初始界面

怎么利用Python实现一键将头像转成动漫风

然后在界面的左边,我们能看到一系列的空间,我们可以将这些控件拖拽到界面当中进行UI的设计,

怎么利用Python实现一键将头像转成动漫风

其中常用的控件有:

  • Push Button: 按钮

  • Line Edit: 文本编辑框

  • Label: 标签

  • Horizontal Line: 水平线

  • Graphics View: 绘画

代码逻辑

当我们点击“选择图片”实现图片上传的功能,代码如下

# 选择本地图片上传def openImage(self):    global imgNamepath  # 这里为了方便别的地方引用图片路径,将其设置为全局变量    imgNamepath, imgType = QFileDialog.getOpenFileName(self.ui, "选择图片", "D:\\", "*.jpg;;*.png;;All Files(*)")    img = QtGui.QPixmap(imgNamepath).scaled(self.ui.label_4.size(), aspectMode=Qt.KeepAspectRatio)    print("img: ", img.width(), img.height())    self.ui.label_4.setFixedSize(img.width(), img.height())    # 在label控件上显示选择的图片    self.ui.label_4.setPixmap(img)    self.ui.label_4.repaint()    # 显示所选图片的路径    self.ui.lineEdit.setText(imgNamepath)

同样地,当我们点击“保存”按钮的时候,实现图片保存在本地的功能,代码如下

def saveImage(self):    img = self.ui.label_5.pixmap().toImage()    fpath, ftype = QFileDialog.getSaveFileName(self.ui, "保存", "D:\\", "*.jpg;;*.png;;All Files(*)")    img.save(fpath)

而当我们点击“开始”按钮的时候便尝试将上传的图片转换成动漫风格,代码如下

def startAction(self):    net = Generator()    net.load_state_dict(torch.load("./weights/face_paint_512_v2.pt", map_location="cpu"))    net.to("cpu").eval()    image = self.load_image(imgNamepath)    print("开始加载图片.......")    with torch.no_grad():        image = to_tensor(image).unsqueeze(0) * 2 - 1        out = net(image.to("cpu"), False).cpu()        out = out.squeeze(0).clip(-1, 1) * 0.5 + 0.5        out = to_pil_image(out)    image_name = imgNamepath.split(".")[0]    out.save(image_name + "_animegan" + ".png")    print("图片保存成功!!")    imgShow = QtGui.QPixmap(image_name + "_animegan" + ".png").scaled(self.ui.label_5.size(), aspectMode=Qt.KeepAspectRatio)    self.ui.label_5.setFixedSize(imgShow.width(), imgShow.height())    self.ui.label_5.setScaledContents(True)    self.ui.label_5.setPixmap(imgShow)    print(f"image saved: {image_name}")

代码中我们是引用了预先训练完成的神经网络,并且默认的是用电脑的CPU来跑这个模型,所以整体运行下来需要点时间,这个根据不同电脑的硬件配置而定,其余的代码如下所示

class Pic1:    def __init__(self):        self.ui = QUiLoader().load('pic_1.ui')        self.ui.pushButton.clicked.connect(self.openImage)        self.ui.pushButton_2.clicked.connect(self.startAction)        self.ui.pushButton_3.clicked.connect(self.saveImage)

然后我们开始运行整个界面

if __name__ == '__main__':    app = QApplication([])    # 显示创建的界面    MainWindow = Pic1()  # 创建窗体对象    MainWindow.ui.show()  # 显示窗体    app.exit(app.exec_())  # 程序关闭时退出进程

效果如下

怎么利用Python实现一键将头像转成动漫风

到此,相信大家对“怎么利用Python实现一键将头像转成动漫风”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: 怎么利用Python实现一键将头像转成动漫风

本文链接: https://lsjlt.com/news/342773.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 利用Python实现一键将头像转成动漫风
    目录PyQt5框架代码逻辑最近在Github上面有看到将头像转化成动漫风的项目,但是对于不少没有技术背景的同学来说可能就不知道该怎么使用了,小编今天制作了一个UI界面,大家可以通过一...
    99+
    2024-04-02
  • 怎么利用Python实现一键将头像转成动漫风
    本篇内容主要讲解“怎么利用Python实现一键将头像转成动漫风”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么利用Python实现一键将头像转成动漫风”吧!PyQt5框架用Python编程语言...
    99+
    2023-07-02
  • 怎么在Pytorch中利用WGAN生成动漫头像
    本篇文章为大家展示了怎么在Pytorch中利用WGAN生成动漫头像,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。WGAN与GAN的不同去除sigmoid使用具有动量的优化方法,比如使用RMSProp...
    99+
    2023-06-06
  • 如何用PHP将女友照片转成可爱的动漫头像
    这篇文章主要介绍“如何用PHP将女友照片转成可爱的动漫头像”,在日常操作中,相信很多人在如何用PHP将女友照片转成可爱的动漫头像问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用PHP将女友照片转成可爱的动...
    99+
    2023-06-29
  • 怎么使用Python将图片转为漫画风格
    安装OpenCV首先,我们需要安装OpenCV。OpenCV是一个开源计算机视觉库,它提供了各种各样的图像处理工具,可以用于许多不同的应用程序。我们可以使用以下命令在Python中安装OpenCV: pip install opencv-p...
    99+
    2023-05-14
    Python
  • 利用Python实现普通视频变成动漫视频
    目录容我废话一下一、思路流程二、图像转动漫三、视频帧读取与视频帧写入容我废话一下 最近几个月,毒教材被曝光引发争议,那些编写度教材的人着实可恶。咱程序员也没有手绘插画能力,但咱可以借...
    99+
    2024-04-02
  • 国庆节到了,利用JS实现一个生成国庆风头像的小工具 详解实现过程
    目录1. 页面布局2. 图片上传和展示3. 初始化画布4. 切换模板5. 输出图片这里用到的技术: HTML+ CSS+ JavaScript; download....
    99+
    2024-04-02
  • 怎么用html5和css3实现动画分成人物头像
    这篇文章主要讲解了“怎么用html5和css3实现动画分成人物头像”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用html5和css3实现动画分成人物头...
    99+
    2024-04-02
  • 怎么利用纯CSS实现头像旋转和发光的效果
    小编给大家分享一下怎么利用纯CSS实现头像旋转和发光的效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!代码如下:<!DOCTYPE html&g...
    99+
    2023-06-08
  • python 利用 PIL 将数组值转成图片的实现
    python PIL 将数组值转成图片 安装 PIL 包 pip install pillow 将二维数据转换成单通道图片 from PIL import Image ar...
    99+
    2024-04-02
  • C#怎么利用AForge实现摄像头信息采集
    要利用AForge实现摄像头信息采集,首先需要安装AForge.NET Framework。然后,可以按照以下步骤使用C#代码实现摄...
    99+
    2024-03-01
    C#
  • js怎么利用FileReader实现图片转base64格式并上传预览头像
    今天小编给大家分享一下js怎么利用FileReader实现图片转base64格式并上传预览头像的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-06-30
  • Python opencv怎么实现高动态范围成像
    这篇“Python opencv怎么实现高动态范围成像”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python openc...
    99+
    2023-07-02
  • 怎么利用nodeJS+vue图片上传实现更新头像
    本篇内容主要讲解“怎么利用nodeJS+vue图片上传实现更新头像”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么利用nodeJS+vue图片上传实现更新头像”吧!思路:前端通过el-uplo...
    99+
    2023-06-30
  • 怎么利用Python编写一个藏头诗在线生成器
    这篇文章主要介绍了怎么利用Python编写一个藏头诗在线生成器的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么利用Python编写一个藏头诗在线生成器文章都会有所收获,下面我们一起来看看吧。一、藏头诗(“小浪...
    99+
    2023-06-30
  • 利用java如何实现一个将中文转换成拼音的功能
    利用java如何实现一个将中文转换成拼音的功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。所需jar:pinyin4j-2.5.0.jarpublic sta...
    99+
    2023-05-31
    java 汉语 拼音
  • php怎么实现自动将链接转换成二维码
    本文小编为大家详细介绍“php怎么实现自动将链接转换成二维码”,内容详细,步骤清晰,细节处理妥当,希望这篇“php怎么实现自动将链接转换成二维码”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、生成二维码在PHP...
    99+
    2023-07-05
  • 怎么用Python实现简易的自制头像神器
    这篇文章主要介绍“怎么用Python实现简易的自制头像神器”,在日常操作中,相信很多人在怎么用Python实现简易的自制头像神器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python实现简易的自制头...
    99+
    2023-06-29
  • 利用Java怎么实现一个反转链表
    今天就跟大家聊聊有关利用Java怎么实现一个反转链表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。定义一个函数,输入一个链表的头结点,反转该链表并输出反转后的链表的头结点。链表结点如...
    99+
    2023-05-31
    java ava
  • 利用servlet怎么实现一个转发功能
    利用servlet怎么实现一个转发功能?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.什么是servlet转发?  servlet将用户的请求通过一组serv...
    99+
    2023-05-31
    servlet
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作