Python代码实现图像语义分割
Python代码实现图像语义分割的步骤详解
原文链接:https://www.jb51.net/article/187249.htm
在网上看到了这篇,代码简洁,身为还没完全入门的小白,每跑通一个程序真的都好开心~
1、环境部署
在进行项目设计前,需要安装所需的第三方库文件:TensorFlow、Pillow、OpenCV-Python、scikit-image和PixelLib,指令如下所示:
pip install tensorflow
pip install pillow
pip install opencv-python
pip install scikit-image
pip install pixellib
2、语义分割
PixelLib使用Deeplabv3+框架实现语义分割,在pascalvoc数据集上训练的Xception模型用于语义分割。
下载链接: Xception模型
第1步:导入PixelLib模块,代码如下所示:
import pixellib
from pixellib.semantic import semantic_segmentation
第2步:创建用于执行语义分割的类实例,代码如下所示:
segment_image = semantic_segmentation()
第3步:调用load_pascalvoc_model()函数加载在Pascal voc上训练的Xception模型,代码如下所示:
segment_image.load_pascalvoc_model("deeplabv3_xception_tf_dim_ordering_tf_kernels.h5")
第4步:调用segmentAsPascalvoc()函数对图像进行分割,并且分割采用pascalvoc的颜色格式进行。此函数有两个必选参数:
path_to_image:分割的目标图像的路径;path_to_output_image:保存分割后输出图像的路径。
将路径替换为自己环境路径即可,代码如下所示:
segment_image.segmentAsPascalvoc("path_to_image", output_image_name = "path_to_output_image")
也可以生成了带有分段叠加层的图像,只需要将segmentAsPascalvoc()函数的overlay属性设置为True,代码如下所示:
segment_image.segmentAsPascalvoc("sample1.jpg", output_image_name = "image_new.jpg", overlay = True)
可能会遇到的错误:
original_keras_version = f.attrs[‘keras_version’].decode(‘utf8’)
AttributeError: ‘str’ object has no attribute ‘decode’
解决办法:
卸载原来的h5py模块,安装2.10版本
pip uninstall h5pypip install h5py==2.10 -i https://pypi.tuna.tsinghua.edu.cn/simple/
执行效果如下图:
Python代码实现图像语义分割相关推荐
- 【毕业设计】深度学习图像语义分割算法研究与实现 - python 机器视觉
文章目录 0 前言 2 概念介绍 2.1 什么是图像语义分割 3 条件随机场的深度学习模型 3. 1 多尺度特征融合 4 语义分割开发过程 4.1 建立 4.2 下载CamVid数据集 4.3 加载C ...
- 【Keras】基于SegNet和U-Net的遥感图像语义分割
from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...
- 深度卷积网络CNN与图像语义分割
转载请注明出处: http://xiahouzuoxin.github.io/notes/html/深度卷积网络CNN与图像语义分割.html 级别1:DL快速上手 级别2:从Caffe着手实践 级 ...
- Keras】基于SegNet和U-Net的遥感图像语义分割
from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...
- 制作用于图像语义分割训练的标签数据【图像分割】【labelme】
制作用于图像语义分割训练的标签数据 *写在前面 一.使用labelme制作json数据 1.安装labelme 2.利用labelme制作json数据 二.将json数据转化为图像数据 1.单个jso ...
- 图像语义分割入门:FCN/U-Net网络解析
向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程 公众号:datayx 图像语义分割(Semantic Segmentation)是图像处理和是机器视觉技术中关于图像 ...
- 【图像语义分割】DeepLabv3+(Pytorch版) 源码复现—Kitti数据集
自己研究课题涉及到图像语义分割,所以最近复现了Deeplabv3+,在KITTI数据集上进行实验,kitti的语义分割数据集是按照cityspace的数据集制作的所有可以用cityspaces的训练模 ...
- 遥感图像语义分割——从原始图像开始制作自己的数据集(以高分二号为例)
遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 文章目录 遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 1.遥感影像获取 2.遥感数据预处理(影像融合) ...
- 深度学习:使用UNet做图像语义分割,训练自己制作的数据集,详细教程
语义分割(Semantic Segmentation)是图像处理和机器视觉一个重要分支.与分类任务不同,语义分割需要判断图像每个像素点的类别,进行精确分割.语义分割目前在自动驾驶.自动抠图.医疗影像等 ...
最新文章
- 贝叶斯理论与朴素贝叶斯分类理论(Naive Bayesian Model,NBM)
- harbor安装_Harbor镜像仓库搭建
- Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
- 【转】测试架构师团队的管理
- flutter打包的app有多大_Flutter原生混合开发
- Python中单元测试出错了,会怎么样?
- 多次fork问题(python 版)
- keypairgenerator生成的公钥是不变的么_bitcoin 地址是如何生成的
- B站获得英雄联盟赛事直播三年独播版权
- SLAM 建立局部二维栅格地图的一种方法
- 微信Mac版更新:在电脑上刷朋友圈;领英暂停中国境内新用户注册;Git 恶意仓库可以在克隆时执行远程代码 | 极客头条...
- axure操作回复_Axure8.0基础教程(31-40)新手必须掌握的基础操作
- java 网络字节序转主机字节序_C语言高级编程——网络编程技术
- spring IOC快速入门,属性注入,注解开发
- Get请求参数中文乱码问题整理
- UnDistort Audio File(音频修复软件)官方正式版V1.0 | 音频修复软件哪个好用 | 专业修复音频的软件
- 计算机环模实验报告,误差配套实验报告
- JavaScript实现二级下拉菜单联动
- 需求分析——确定需求细节(规则与约束)
- 转:《七周成为数据分析师》总结