当前位置:网站首页>【纹理特征提取】基于matlab局部二值模式LBP图像纹理特征提取【含Matlab源码 1931期】
【纹理特征提取】基于matlab局部二值模式LBP图像纹理特征提取【含Matlab源码 1931期】
2022-07-07 09:46:00 【海神之光】
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【纹理特征提取】基于matlab局部二值模式LBP图像纹理特征提取【含Matlab源码 1931期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,可免费获得1份代码(有效期为订阅日起,三天内有效);
二、局部二值模式LBP图像纹理特征提取简介
1 局部二值模式
LBP是一种用来描述图像局部纹理特征的算法,具有旋转不变性和灰度不变性等显著优点。原始的LBP是在3×3的窗口中,以中心像素点的像素值为阈值,将邻域8个像素点的值和阈值进行比较,若邻域点的像素值大于中心像素点,则记为1,否则记为0,然后按照规定的编码方向,给不同的邻域点赋予不同的权重,将二进制序列转换一个无符号十进制数,并用该值作为像素点的LBP特征值,其过程如图1所示。Ojala最初提出的LBP算子存在无法提取大尺寸结构纹理的缺点,为了解决这一问题,Ojala做出改进,将3×3邻域扩展到任意邻域,并用圆形邻域代替正方形邻域,改进后的LBP算子允许在半径为R的圆形邻域内有任意多个像素点。综上,对于一幅图像S上的任意像素点S(i,j),将以S(i,j)为中心,半径为R的内含有P个采样点的区域称为其局部邻域(P,R),则像素点S(i,j)的LBP值可以定义为:
式中:gc代表中心像素S(i,j)的灰度值,gp代表采样点灰度值。这种方法获取的LBP值具有线性灰度不变性,但是在图像发生旋转时,相应的LBP值也会发生改变。为了解决旋转不变性的问题,Ojala等[11]提出了基于旋转不变性的LBP算法。对同一个中心点,以不同的邻域像素点作为起点进行二进制编码,从而得到一系列的二进制编码,选取其中最小的值作为该邻域的LBP值。
图1 局部二值模式提取过程
三、部分源代码
clc;close all;clear;
img=imread('lena512color.tiff');
img=imresize(img,[256,256]);
figure, imshow(img);
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 蔡利梅.MATLAB图像处理——理论、算法与实例分析[M].清华大学出版社,2020.
[2]杨丹,赵海滨,龙哲.MATLAB图像处理实例详解[M].清华大学出版社,2013.
[3]周品.MATLAB图像处理与图形用户界面设计[M].清华大学出版社,2013.
[4]李松,蔡航,于蒙.基于自适应局部二值模式的纹理特征提取方法[J].计算机应用与软件. 2019,36(09)
3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除
边栏推荐
- TDengine 社区问题双周精选 | 第二期
- Suggestions on one-stop development of testing life
- Table replication in PostgreSQL
- 测试优惠券要怎么写测试用例?
- Creative information was surveyed by 2 institutions: greatdb database has been deployed in 9 places
- Qt|多个窗口共有一个提示框类
- Talk about SOC startup (x) kernel startup pilot knowledge
- 关于在云服务器上(这里用腾讯云)安装mysql8.0并使本地可以远程连接的方法
- R语言使用quantile函数计算评分值的分位数(20%、40%、60%、80%)、使用逻辑操作符将对应的分位区间(quantile)编码为分类值生成新的字段、strsplit函数将学生的名和姓拆分
- EasyUI learn to organize notes
猜你喜欢
【最短路】Acwing1128信使:floyd最短路
测试优惠券要怎么写测试用例?
核舟记(一):当“男妈妈”走进现实,生物科技革命能解放女性吗?
Zhou Yajin, a top safety scholar of Zhejiang University, is a curiosity driven activist
Enclosed please find. Net Maui's latest learning resources
一度辍学的数学差生,获得今年菲尔兹奖
STM32F1与STM32CubeIDE编程实例-MAX7219驱动8位7段数码管(基于SPI)
Talk about SOC startup (IX) adding a new board to uboot
聊聊SOC启动(六)uboot启动流程二
Web端自动化测试失败的原因
随机推荐
Some opinions and code implementation of Siou loss: more powerful learning for bounding box regression zhora gevorgyan
关于测试人生的一站式发展建议
通过 Play Integrity API 的 nonce 字段提高应用安全性
audit 移植
【最短路】Acwing1128信使:floyd最短路
In my limited software testing experience, a full-time summary of automation testing experience
Eth trunk link switching delay is too high
TDengine 社区问题双周精选 | 第二期
Verilog realizes nixie tube display driver [with source code]
Use references
相机标定(2): 单目相机标定总结
EasyUI learn to organize notes
Electron adding SQLite database
[Yugong series] go teaching course 005 variables in July 2022
深度学习秋招面试题集锦(一)
Vuthink proper installation process
What development models did you know during the interview? Just read this one
There are ways to improve self-discipline and self-control
Le Cluster kubernets en cours d'exécution veut ajuster l'adresse du segment réseau du pod
Various uses of vim are very practical. I learned and summarized them in my work