lbp与matlab gui实现,纹理特征提取 及LBP纹理特征matlab实现 | 学步园

一幅图像的纹理是在图像计算中经过量化的图像特征。图像纹理描述图像或其中小块区域的空间颜色分布和光强分布。

纹理特征的提取分为基于结构的方法和基于统计数据的方法。一个基于结构的纹理特征提取方法是将所要检测的纹理进行建模,在图像中搜索重复的模式。该方法对人工合成的纹理识别效果较好。但对于交通图像中的纹理识别,基于统计数据的方法效果更好。

LBP方法(Local binary patterns)是一个计算机视觉中用于图像特征分类的一个方法。LBP方法在1994年首先由T. Ojala, M.Pietikäinen, 和 D. Harwood 提出[43][44],用于纹理特征提取。后来LBP方法与HOG特征分类器联合使用,改善了一些数据集[45]上的检测效果。

对LBP特征向量进行提取的步骤如下:

首先将检测窗口划分为16×16的小区域(cell),对于每个cell中的一个像素,将其环形邻域内的8个点(也可以是环形邻域多个点,如图 3‑4. 应用LBP

灰度共生矩阵是另一种纹理特征提取方法,首先对于一幅图像定义一个方向(orientation)和一个以pixel为单位的步长(step),灰度共生矩阵T(N×N),则定义M(i,j)为灰度级为i和j的像素同时出现在一个点和沿所定义的方向跨度步长的点上的频率。其中N是灰度级划分数目。由于共生矩阵有方向和步长的组合定义,而决定频率的一个因素是对矩阵有贡献的像素数目,而这个数目要比总共数目少,且随着步长的增加而减少。因此所得到的共生矩阵是一个稀疏矩阵,所以灰度级划分N常常减少到8级。如在水平方向上计算左右方向上像素的共生矩阵,则为对称共生矩阵。类似的,如果仅考虑当前像素单方向(左或右)上的像素,则称为非对称共生矩阵。

[43]T. Ojala, M. Pietikäinen, and D. Harwood (1994), "Performance evaluation of texture measures with classification based on Kullback discrimination of distributions", Proceedings of the 12th IAPR International Conference

on Pattern Recognition (ICPR 1994), vol. 1, pp. 582 - 585.

[44]T. Ojala, M. Pietikäinen, and D. Harwood (1996), "A Comparative Study of Texture Measures with Classification Based on Feature Distributions", Pattern Recognition, vol. 29, pp. 51-59.

[45]Xiaoyu Wang, Tony X. Han, Shuicheng Yan,"An HOG-LBP Human Detector with Partial Occlusion Handling", ICCV 2009

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现图像纹理特征提取MATLAB GUI,可以采用以下步骤: 1. 创建 GUI 窗口并添加图像显示控件,用于显示输入的图像和提取纹理特征。 2. 添加按钮或菜单栏,用于加载图像、设置纹理特征参数和开始提取纹理特征。 3. 加载图像后,可以使用 MATLAB 自带的纹理特征提取函数或自定义函数进行纹理特征提取,如 GLCM、LBP、Gabor 等。 4. 提取纹理特征后,将特征显示在图像上或在控件中以表格的形式显示。 以下是一个简单的示例代码,利用 GLCM 算法提取图像纹理特征: ```matlab function texture_feature_extraction_gui % 创建 GUI 窗口 fig = uifigure('Name', '纹理特征提取'); ax = uiaxes(fig, 'Position', [50 100 400 400]); btn_load = uibutton(fig, 'push', 'Text', '加载图像', 'Position', [50 50 80 30], 'ButtonPushedFcn', @load_image); btn_extract = uibutton(fig, 'push', 'Text', '提取特征', 'Position', [150 50 80 30], 'ButtonPushedFcn', @extract_feature); tbl_feature = uitable(fig, 'Position', [500 100 200 400]); % 图像变量 I = []; % 加载图像 function load_image(src, event) [filename, pathname] = uigetfile({'*.jpg;*.png;*.bmp', '图像文件 (*.jpg,*.png,*.bmp)'}); if isequal(filename,0) || isequal(pathname,0) return; end I = imread(fullfile(pathname, filename)); imshow(I, 'Parent', ax); end % 提取纹理特征 function extract_feature(src, event) if isempty(I) return; end gray_I = rgb2gray(I); glcm = graycomatrix(gray_I, 'Offset', [0 1], 'Symmetric', true); stats = graycoprops(glcm, {'Contrast', 'Correlation', 'Energy', 'Homogeneity'}); feature = [stats.Contrast, stats.Correlation, stats.Energy, stats.Homogeneity]; set(tbl_feature, 'Data', feature, 'ColumnName', {'对比度', '相关性', '能量', '同质性'}); end end ``` 在这个示例中,我们创建了一个简单的 GUI 窗口,包含图像显示控件、加载图像按钮、提取特征按钮和特征显示表格。当用户点击“加载图像”按钮时,会弹出文件选择对话框,用户可以选择要加载的图像。当用户点击“提取特征”按钮时,首先将图像转换为灰度图像,然后利用 graycomatrix 和 graycoprops 函数提取 GLCM 纹理特征,并将特征显示在表格中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值