图像分割(一)—图像分割概述

图像分割

1.什么是图像分割

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。
图像分割将图像细分为一个个子区域或物体,细分的程度取决于要解决的的问题,当我们得到感兴趣区域时,分割就停止。
PS 图像分类 图像识别 是什么
计算机看图像是一堆数字矩阵,不像我们人眼这么高级 能分辨出里面比如有小狗 兔子这些东西。所以为了让计算机理解图像的内容,我们需要应用图像分类,使用计算机视觉和机器学习算法处理图像,这个操作可以简单的为一张图像分配一个标签,如猫还是狗,或者也可以高级到解释图像的 内容并且返回一个可读的句子。总的来说图像分类一般是涉及计算机视觉机器学习,相对来说更高级 比图像分割涉及范围更广
图像识别 包括四个过程: 图像预处理→ 图像分割 → 图像特征提取 → 分类器分类
小结:图像分割是获得想要的区域或者物体 往往是实现最终目的过程中的一部分 图像分类是对图像中的内容进行理解和解释 图像分割是图像识别的一部分 一个过程

2.现有图像分割方法的分类

image.png
多数分割方法是基于灰度值的两个基本性质 不连续性和相似性

(1)基于阈值的方法

image.png
包括全局阈值、自适应阈值等等
①全局阈值是指整幅图像使用同一个阈值做分割处理,适用于背景和前景有明显对比的图像。根据整幅图像确定,但是这种方法只考虑像素本身的灰度值,一般不考虑空间特征,因而对噪声很敏感。常用的全局阈值选取方法有利用图像灰度直方图的峰谷法、最小误差法、最大类间方差法、最大熵自动阈值法以及其它一些方法。
②自适应阈值
在图像中比较复杂的情况下,全局阈值很难准确地将物体与背景分开。这时可以根据需要实际按照将图像分成若干子区域分别计算阈值,进行图像分割,这时的阈值为自适应阈值。
自适应阈值算法的核心是将图像分割位不同的区域,每个区域都计算阈值。这样可以更好的处理复杂的图像。

介绍俩常用的api:
cv2.threshold(src,thresh,maxval,type)
cv2.adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, blockSize, C, dst=None)
自适应的阈值方法处理较为复杂的图 可以去除这个背景
image.png
(效果图来自:https://blog.csdn.net/weixin_42272768/article/details/110817275

(2)基于区域

基于区域的方法是以直接寻找区域为基础的分割技术
①区域生长
②区域分裂与聚合
https://segmentfault.com/a/1190000043462365

(3)基于边缘

基于边缘的分割方法 是以灰度局部剧烈变化检测为基础 其中 线和边缘 是主要研究对象
边缘或者说边缘线段是连接边缘像素的集合 线两侧的灰度要么远亮于该线上的灰度 要么远暗于该线上的灰度
边缘检测 (很多算子)
https://segmentfault.com/a/1190000043595395

(4)基于特定理论

特定理论大概有:
聚类分析、模糊集理论
小波变换等。
基于图论的方法
超像素

学习自:https://blog.csdn.net/Java_college/article/details/120911701

种一棵树最好的时间是十年前,其次是现在!

1 声望
1 粉丝
0 条评论
推荐阅读
单阈值大津法
大津法属于全局阈值方法中的一种,即是最大类间方差法 大津法主要原理在于会自动找出一个阈值 使得分割后的两部分类间方差最大 适用于有双波峰的图像,大津法作为图像分割中阈值选取的常用算法,计算简单,不受图...

胡子老爷爷阅读 663

又一款眼前一亮的Linux终端工具!
今天给大家介绍一款最近发现的功能十分强大,颜值非常高的一款终端工具。这个神器我是在其他公众号文章上看到的,但他们都没把它的强大之处介绍明白,所以我自己体验一波后,再向大家分享自己的体验。

良许5阅读 1.8k

一张自拍即可实现变老变年轻,带你感受时光流逝之美
PaddleGAN是飞浆在图像生成和处理领域的一个代表性项目,通过深度学习的技术和飞浆的支持,PaddleGAN可以实现多种惊人的图像处理效果,例如图像转换、人脸编辑、动态效果生成等等。

tiny极客3阅读 2.3k评论 1

封面图
程序员适合创业吗?
大家好,我是良许。从去年 12 月开始,我已经在视频号、抖音等主流视频平台上连续更新视频到现在,并得到了不错的评价。每个视频都花了很多时间精力用心制作,欢迎大家关注哦~考虑到有些小伙伴没有看过我的视频,...

良许3阅读 1.8k

Linux终端居然也可以做文件浏览器?
大家好,我是良许。在抖音上做直播已经整整 5 个月了,我很自豪我一路坚持到了现在【笑脸】最近我在做直播的时候,也开始学习鱼皮大佬,直播写代码。当然我不懂 Java 后端,因此就写写自己擅长的 Shell 脚本。但...

良许1阅读 2.1k

C++编译器和链接器的完全指南
C++是一种强类型语言,它的编译和链接是程序开发过程中不可或缺的两个环节。编译器和链接器是两个非常重要的概念。本文将详细介绍C++中的编译器和链接器以及它们的工作原理和使用方法。

小万哥2阅读 981

封面图
比cat更好用的命令!
但 cat 命令两个很重大的缺陷:1. 不能语法高亮输出;2. 文本太长的话无法翻页输出。正是这两个不足,使得 cat 只能用来查看行数不多的小文件。

良许2阅读 981

种一棵树最好的时间是十年前,其次是现在!

1 声望
1 粉丝
宣传栏