使用Gabor滤镜对图像进行纹理分割

简介: 演示如何使用纹理分割根据纹理识别区域。目标是将狗从浴室地板上分开。由于浴室地板的规则、周期性图案与狗皮毛规则、光滑的纹理之间的质地差异,这种分割在视觉上很明显。

​一、前言
此示例演示如何使用纹理分割根据纹理识别区域。目标是将狗从浴室地板上分开。由于浴室地板的规则、周期性图案与狗皮毛规则、光滑的纹理之间的质地差异,这种分割在视觉上很明显。
从实验中可以知道Gabor滤光片是哺乳动物视觉系统中简单细胞的合理模型。正因为如此,Gabor滤波器被认为是人类如何区分纹理的良好模型,因此在设计识别纹理的算法时是一个有用的模型。
二、读取和显示输入图像
读取并显示输入图像。此示例缩小图像以使示例运行得更快。
1.png
三、Gabor 滤波器设计阵列
设计一系列 Gabor 滤波器,这些滤波器被调谐到不同的频率和方向。频率和方向集旨在定位输入图像中频率和方向信息的不同、大致正交的子集。以 0 度的步长定期对 [150,30] 度之间的方向进行采样。从 4/sqrt(2) 开始的 1991 次幂递增的样本波长,直到输入图像的斜边长度。
从源图像中提取Gabor星等特征。使用 Gabor 滤波器时,通常使用每个滤波器的幅度响应。Gabor幅度响应有时也被称为“Gabor Energy”。
四、将Gabor星等图像后处理为Gabor要素。
要将Gabor幅度响应用作分类中使用的特征,需要进行一些后处理。此后处理包括高斯平滑、向特征集添加其他空间信息、将特征集重塑为 and 函数预期的形式,以及将特征信息归一化为公共方差和平均值。
每个Gabor星等图像都包含一些局部变化,即使在恒定纹理的良好分割区域内也是如此。这些局部变化将抛弃细分。我们可以使用简单的高斯低通滤波来补偿这些变化,以平滑Gabor幅度信息。我们选择与提取每个特征的Gabor滤波器匹配的西格玛。我们引入了一个平滑项 K,它控制对 Gabor 幅度响应应用的平滑量。
构建用于分类的 Gabor 要素集时,在 X 和 Y 中添加空间位置信息地图非常有用。此附加信息允许分类器首选在空间上靠近的分组。
将数据重塑为函数预期形式的矩阵。图像网格中的每个像素都是一个单独的数据点,变量中的每个平面都是一个单独的特征。在此示例中,Gabor 过滤器库中的每个过滤器都有一个单独的要素,以及上一步中添加的空间信息中的两个附加要素。输入影像中的每个像素总共有 24 个 Gabor 要素和 2 个空间要素。
将特征归一化为零均值、单位方差。可视化功能集。为了了解Gabor幅度特征的外观,可以使用主成分分析从输入图像中每个像素的26维表示移动到每个像素的一维强度值。
2.png

在此可视化中很明显,Gabor 特征信息中存在足够的方差,可以为此图像获得良好的分割。与地板相比,狗非常暗,因为狗和地板之间的质地差异。
五、使用 kmeans 对 Gabor 纹理要素进行分类
重复 k 均值聚类五次,以避免在搜索最小化目标函数的均值时出现局部最小值。此示例中假设的唯一先验信息是被分割的图像中存在多少个不同的纹理区域。
使用可视化分段。
3.png
可视化细分。检查由与标签矩阵关联的蒙版生成的前景和背景图像。
4.png

目录
相关文章
|
小程序 搜索推荐 安全
【开题报告】基于uniapp的在线蛋糕商城小程序的设计与实现
【开题报告】基于uniapp的在线蛋糕商城小程序的设计与实现
592 0
|
小程序 JavaScript 前端开发
微信小程序 |从零实现酷炫纸质翻页效果
微信小程序 |从零实现酷炫纸质翻页效果
2848 0
微信小程序 |从零实现酷炫纸质翻页效果
|
10月前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
394 11
|
算法 NoSQL 容器
启发式搜索: A*算法
启发式搜索: A*算法
|
机器学习/深度学习 算法 数据挖掘
算法金 | 欧氏距离算法、余弦相似度、汉明、曼哈顿、切比雪夫、闵可夫斯基、雅卡尔指数、半正矢、Sørensen-Dice
**摘要:** 了解9种距离和相似度算法:欧氏距离、余弦相似度、汉明距离、曼哈顿距离、切比雪夫距离、闵可夫斯基距离、雅卡尔指数、半正矢距离和Sørensen-Dice系数。这些算法在机器学习、文本分析、图像处理和生物学等领域各有应用。例如,欧氏距离用于KNN和K-Means,余弦相似度用于文本相似性,汉明距离在错误检测中,曼哈顿距离在数据挖掘,切比雪夫距离在棋盘游戏,闵可夫斯基距离通过调整参数适应不同场景,雅卡尔指数和Sørensen-Dice系数用于集合相似度。每种算法有其优缺点,如欧氏距离对异常值敏感,余弦相似度忽略数值大小,汉明距离仅适用于等长数据。
483 2
算法金 | 欧氏距离算法、余弦相似度、汉明、曼哈顿、切比雪夫、闵可夫斯基、雅卡尔指数、半正矢、Sørensen-Dice
|
Ubuntu 计算机视觉
Ubuntu新手友好:OpenCV 4.6.0安装的简化教程
网络首发,一定可以成功 依赖环境
634 0
|
并行计算 Ubuntu PyTorch
Xshell远程连接配置 Ubuntu 18.04.6 + Anaconda + CUDA + Cudnn + Pytorch(GPU+CPU)(上)
Xshell远程连接配置 Ubuntu 18.04.6 + Anaconda + CUDA + Cudnn + Pytorch(GPU+CPU)
603 0
30行代码实现一个带UI界面的图片背景移除工具:并附带web网页
人工智能技术正处于蓬勃发展中,移除图片背景的方法众多,涵盖了各式各样的实现途径和模型。然而,这些方法往往在安装和配置环境方面稍显复杂。今天,介绍一种极其简便的方法——大约30行代码,就能实现这一功能。虽然相比之下可能稍显简单,但对于不太苛刻的需求来说,这种方法颇为方便实用。
|
机器学习/深度学习 算法 搜索推荐
从理论到实践,Python算法复杂度分析一站式教程,助你轻松驾驭大数据挑战!
【7月更文挑战第22天】在大数据领域,Python算法效率至关重要。本文深入解析时间与空间复杂度,用大O表示法衡量执行时间和存储需求。通过冒泡排序(O(n^2)时间,O(1)空间)与快速排序(平均O(n log n)时间,O(log n)空间)实例,展示Python代码实现与复杂度分析。策略包括算法适配、分治法应用及空间换取时间优化。掌握这些,可提升大数据处理能力,持续学习实践是关键。
284 1
|
安全 Java 数据库
Spring Boot中集成 Shiro
本节主要介绍了 Shiro 安全框架与 Spring Boot 的整合。先介绍了 Shiro 的三大核心组件已经它们的作用;然后介绍了 Shiro 的身份认证、角色认证和权限认证;最后结合代码,详细介绍了 Spring Boot 中是如何整合 Shiro 的,并设计了一套测试流程,逐步分析 Shiro 的工作流程和原理,让读者更直观地体会出 Shiro 的整套工作流程。Shiro 使用的很广泛,希望读者将其掌握,并能运用到实际项目中。