matlab - 如何从 Matlab 中的数据集中提取 LBP 特征?
问题描述
我已经了解了如何从单个图像中提取特征,如本示例中所述:https ://www.mathworks.com/help/vision/ref/extractlbpfeatures.html
现在,我正在为我的 matlab 项目处理 1000 张图像的数据集,以提取自行车、汽车和摩托车的特征。我的数据集中有三个单独的文件夹,包括自行车、汽车和摩托车。在执行期间,我收到错误消息,
Error using extractLBPFeatures>parseInputs (line 148)
Expected I to be one of these types:
double, single, int16, uint16, uint8, logical
Instead its type was imageSet.
Error in extractLBPFeatures (line 129)
params = parseInputs(I,varargin{:});
Error in LBP (line 21)
bycycleLBP = extractLBPFeatures(bycycleData,'Upright',false);
我应该怎么办?下面是我的示例代码 ==>
imSet = imageSet('dataset\train','recursive');
bicycleData = imSet(1);
carData = imSet(2);
motorbikeData = imSet(3);
%%Extract LBP Features
bicycleLBP = extractLBPFeatures(bicycleData,'Upright',false);
carLBP = extractLBPFeatures(carData,'Upright',false);
motorbikeLBP = extractLBPFeatures(motorbikeData,'Upright',false);
bicycle = bicycleLBP.^2;
car = carLBP.^2;
motorbike = motorbikeLBP.^2;
figure
bar([bicycle; car; motorbike]','grouped');
title('LBP Features Of bicycle, car and motorbike');
xlabel('LBP Histogram Bins');
legend('Bicycle','Car','Motorbike');
请帮助我实现我的示例代码。
解决方案
在尝试提取特征之前,让我们看一下两个变量。
>> whos imSet bicycleData
Name Size Bytes Class Attributes
imSet 1x3 1494 imageSet
bicycleData 1x1 498 imageSet
该变量imSet
是 3 个imageSet
对象的列表。第一个代表自行车,因此您可以正确地将自行车 imageSet 拉入它自己的变量bicycleData
中,这是一个奇异的imageSet
。到目前为止一切都很好,但是当我们查看文档时extractLBPFeatures
...
features = extractLBPFeatures(I,Name,Value)
I - 输入图像
输入图像,指定为真实且非稀疏的 M×N 二维灰度图像。
该功能一次只能提取一张灰度图像的特征。您必须遍历您的imageSet
才能一次提取一个特征。
% Create a cell array to store features per image.
bicycleFeatures = cell(size(bicycleData.ImageLocation));
for i = 1:length(bicycleFeatures)
% Read in individual image, and convert to grayscale to extract features.
image = imread(bicycleData.ImageLocation{i});
bicycleFeatures{i} = extractLBPFeatures(rgb2gray(image));
end
请记住,您仍然需要进行后期处理工作。这会提取每个图像的特征,因此您必须确定如何组合每个数据集的特征数据。
推荐阅读
- php - 如何使用 Ion 在 sql php android 中进行搜索?
- spring - 使用 apache camel 通过 imaps 连接到 ms exchange 共享邮箱失败并出现错误 AUTHENTICATE failed
- sas - 尝试以其他列是否为空为条件创建新列
- python - 使用高斯混合模型创建肺的二值图像
- r - table() 的奇怪 R 问题
- javascript - 在 Vue.js Mounted() 中更新数据不起作用
- javascript - 尝试扩展 Arduino JS 脚本的功能(第一个障碍)
- r - 我的 R-markdown 文件中的错误消息(编织后)
- python - 使用 linear_kernel 时 Scikit-learn 崩溃
- git - (如何)我可以将 `git log --first-parent` 设为默认值吗?