Pixellib语义分割-图像背景替换

news/2024/9/24 12:23:35

1.Pixellib 

  Pixellib 是一个基于 TensorFlow 和 OpenCV 的深度学习库,用于语义分割和实例分割任务,提供了强大的工具和库来构建和训练深度神经网络模型。Pixellib 支持多种主流深度学习模型,如 DeepLabV3、Mask R-CNN、YOLOv4、YOLOv5 和 Panoptic FPN 等

2. 安装

  安装tenforflow:pip3 install tensorflow-gpu或pip3 install tensorflow

  安装Pixellib:pip3 install pixellib

3. 资源地址

  github官网地址: https://github.com/ayoolaolafenwa/PixelLib
  官方文档: https://pixellib.readthedocs.io/en/latest/

  模型权重下载地址: https://github.com/bonlime/keras-deeplab-v3-plus/releases

3.颜色背景替换

import cv2
from pixellib.tune_bg import alter_bgchange_bg = alter_bg()
change_bg.load_pascalvoc_model("deeplabv3_xception_tf_dim_ordering_tf_kernels.h5")
output = change_bg.color_bg("sample.jpeg", colors = (0, 128, 0))#将背景置为绿色
cv2.imwrite("img.jpg", output)
new_image = cv2.imread("img.jpg")
# 模糊让边缘更平滑
blurred_image = cv2.GaussianBlur(new_image, (5, 5), 0)
# 保存最终输出图像
cv2.imwrite("img_blur.jpg", blurred_image)

 

                                                                                                                                                                       

                                                   原图                     换背景颜色图

4. 替换背景图片

from pixellib.tune_bg import alter_bg
import cv2
# 创建 alter_bg 实例
change_bg = alter_bg()
# 加载预训练模型
change_bg.load_pascalvoc_model("deeplabv3_xception_tf_dim_ordering_tf_kernels.h5")
# # 替换背景
output = change_bg.change_bg_img(f_image_path="sample.jpeg",b_image_path="bg.jpeg", output_image_name="new_img.jpg")
# 加载输出图像
new_image = cv2.imread("new_img.jpg")
#模糊
blurred_image = cv2.GaussianBlur(new_image, (5, 5), 0)
# 保存最终输出图像
cv2.imwrite("final_output.jpg", blurred_image)

                                                                                                                                                         

                                              原图                       换背景图

  上面是网上找的图,再测试一下手机拍的图。

                                                                                                                                                      

5. 虚化背景

from pixellib.tune_bg import alter_bg# 创建 alter_bg 实例
change_bg = alter_bg()
# 加载预训练模型
change_bg.load_pascalvoc_model("deeplabv3_xception_tf_dim_ordering_tf_kernels.h5")
# 替换背景
output=change_bg.change_bg_img(f_image_path="sample.jpeg",b_image_path="bg.jpeg",output_image_name="new_img.jpg",detect="person")
change_bg.blur_bg("final_output.jpg", extreme=True, detect="person", output_image_name="blur_img.jpg")

小结:对于color_bg函数,可以指定detect参数来获取我们想要分割的目标,默认是模型获取所有目标。如果目标很多,只想要获取人物,可以detect="person'。

 

  不足或错误之处,欢迎指正与评论!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/46549.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

JetBrains PhpStorm 2024 mac/win版:探索PHP之美,智慧编程新境界

JetBrains PhpStorm 2024是一款卓越的PHP集成开发环境(IDE),专为满足现代PHP开发者的需求而精心打造。它凭借强大的功能和出色的性能,赢得了全球开发者的广泛赞誉。 PhpStorm 2024 mac/win版获取PhpStorm 2024提供了智能的代码编辑功能,包括自动补全、语法高亮、代码重构等,…

JetBrains PyCharm 2024 mac/win版编程艺术,智慧新篇

JetBrains PyCharm 2024是一款功能强大的Python集成开发环境(IDE),专为提升开发者的编程效率和体验而设计。这款IDE不仅继承了前代版本的优秀特性,还在多个方面进行了创新和改进,为Python开发者带来了全新的工作体验。 JetBrains PyCharm 2024版获取PyCharm 2024提供了丰富的…

php8开启jit

JIT时php8的重要功能之一,可以极大的提高性能; JIT编译器集成在了Opcache插件中,仅在启动Opcache插件才有效 Opcache将 PHP 脚本编译后的字节码存储到内存中,以避免每次执行脚本时重新解析和编译,从而提高 PHP 应用程序的性能和响应速度。Opcache开启: 编辑php.ini文件,将…

动态对角渐变色背景

动态对角渐变色背景,利用背景位置的变化展示线性渐变不同部分的内容,以达到背景动态变化的效果动态对角渐变色背景 前言: 1. 我并没有深入了解,难免出错 一、效果图二、代码 body {background: linear-gradient(-45deg, #ee7752, #e73c7e, #23a6d5, #23d5ab);background-si…

ch13 半监督学习

ch13 半监督学习未标记样本 在生产活动中,有样本的数目会很少(因为标记很昂贵),从 LLM 的成功来看,在 unlabeled data 上训练模型是很有希望的。这种方法被称为半监督学习。 半监督学习又分为纯半监督学习和直推学习纯半监督学习强调从 unlabeled data 中学习出一个好的模…

python3使用pyVmomi获取vCenter中虚拟机cpu/内存信息

原创文档编写不易,未经许可请勿转载。文档中有疑问的可以邮件联系我。 邮箱:yinwanit@163.com 说明 文章分享在Linux操作系统中安装python3环境,并通过pyVmomi获取vCenter中运行的虚拟机信息,最后把获取的虚拟机数据存储到数据库中。 前三章为基础环境构建,第四章为脚本代…

框架配置

表格配置属性说明文档 页面添加引用: import BaseTable from ‘@/components/BaseTable/index.vue1、grid-edit-width 表格操作栏宽度 例如:grid-edit-width:2502、gridOtherConfig属性 说明 示例showCheckbox 表格属性列表前的Checkbox gridOtherConfig:{showCheckbox:true…

three.js+vue实现酷炫三维地图web3d大屏可视化GIS地图

三维地图效果如下,gif压缩导致画质变差了,哈哈three.js+vue代码如下:<template><div id="chinaMap"><div id="threejs"></div><!-- 右侧按钮 --><div class="rightButton"><div v-for="(item, i…