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代码实现图像语义分割相关推荐

  1. 【毕业设计】深度学习图像语义分割算法研究与实现 - python 机器视觉

    文章目录 0 前言 2 概念介绍 2.1 什么是图像语义分割 3 条件随机场的深度学习模型 3. 1 多尺度特征融合 4 语义分割开发过程 4.1 建立 4.2 下载CamVid数据集 4.3 加载C ...

  2. 【Keras】基于SegNet和U-Net的遥感图像语义分割

    from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...

  3. 深度卷积网络CNN与图像语义分割

    转载请注明出处:  http://xiahouzuoxin.github.io/notes/html/深度卷积网络CNN与图像语义分割.html 级别1:DL快速上手 级别2:从Caffe着手实践 级 ...

  4. Keras】基于SegNet和U-Net的遥感图像语义分割

    from:[Keras]基于SegNet和U-Net的遥感图像语义分割 上两个月参加了个比赛,做的是对遥感高清图像做语义分割,美其名曰"天空之眼".这两周数据挖掘课期末projec ...

  5. 制作用于图像语义分割训练的标签数据【图像分割】【labelme】

    制作用于图像语义分割训练的标签数据 *写在前面 一.使用labelme制作json数据 1.安装labelme 2.利用labelme制作json数据 二.将json数据转化为图像数据 1.单个jso ...

  6. 图像语义分割入门:FCN/U-Net网络解析

    向AI转型的程序员都关注了这个号???????????? 机器学习AI算法工程   公众号:datayx 图像语义分割(Semantic Segmentation)是图像处理和是机器视觉技术中关于图像 ...

  7. 【图像语义分割】DeepLabv3+(Pytorch版) 源码复现—Kitti数据集

    自己研究课题涉及到图像语义分割,所以最近复现了Deeplabv3+,在KITTI数据集上进行实验,kitti的语义分割数据集是按照cityspace的数据集制作的所有可以用cityspaces的训练模 ...

  8. 遥感图像语义分割——从原始图像开始制作自己的数据集(以高分二号为例)

    遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 文章目录 遥感图像语义分割--从原始图像开始制作自己的数据集(以高分二号为例) 1.遥感影像获取 2.遥感数据预处理(影像融合) ...

  9. 深度学习:使用UNet做图像语义分割,训练自己制作的数据集,详细教程

    语义分割(Semantic Segmentation)是图像处理和机器视觉一个重要分支.与分类任务不同,语义分割需要判断图像每个像素点的类别,进行精确分割.语义分割目前在自动驾驶.自动抠图.医疗影像等 ...

最新文章

  1. 贝叶斯理论与朴素贝叶斯分类理论(Naive Bayesian Model,NBM)
  2. harbor安装_Harbor镜像仓库搭建
  3. Linux SPI总线和设备驱动架构之四:SPI数据传输的队列化
  4. 【转】测试架构师团队的管理
  5. flutter打包的app有多大_Flutter原生混合开发
  6. Python中单元测试出错了,会怎么样?
  7. 多次fork问题(python 版)
  8. keypairgenerator生成的公钥是不变的么_bitcoin 地址是如何生成的
  9. B站获得英雄联盟赛事直播三年独播版权
  10. SLAM 建立局部二维栅格地图的一种方法
  11. 微信Mac版更新:在电脑上刷朋友圈;领英暂停中国境内新用户注册;Git 恶意仓库可以在克隆时执行远程代码 | 极客头条...
  12. axure操作回复_Axure8.0基础教程(31-40)新手必须掌握的基础操作
  13. java 网络字节序转主机字节序_C语言高级编程——网络编程技术
  14. spring IOC快速入门,属性注入,注解开发
  15. Get请求参数中文乱码问题整理
  16. UnDistort Audio File(音频修复软件)官方正式版V1.0 | 音频修复软件哪个好用 | 专业修复音频的软件
  17. 计算机环模实验报告,误差配套实验报告
  18. JavaScript实现二级下拉菜单联动
  19. 需求分析——确定需求细节(规则与约束)
  20. 转:《七周成为数据分析师》总结

热门文章

  1. 归并排序、快速排序、二路快排、三路快排python实现
  2. win10系统配置GPU版本Pytorch
  3. autoware 使用Bug汇总
  4. FPGA 学习-边沿检测技术
  5. 新兴学科科学知识图谱绘制的大数据挖掘方法和实现
  6. 小白laravel入门
  7. uos20sp3-1030系统或ubuntu16系统配置解决DNS丢失问题
  8. 无人机飞控平台ArduPilot源码入门教程 - 首页
  9. 网上信访信息系统:拓宽信访渠道,提高网上服务水平
  10. UA MATH524 复变函数1 复数及其基本性质