1.完整项目描述和程序获取
>面包多安全交易平台:https://mbd.pub/o/bread/Y56alJls
>如果链接失效,可以直接打开本站店铺搜索相关店铺:
>如果链接失效,程序调试报错或者项目合作也可以加微信或者QQ联系。
2.部分仿真图预览
3.算法概述
支持向量机(support vector machines, SVM)是二分类算法,所谓二分类即把具有多个特性(属性)的数据分为两类,目前主流机器学习算法中,神经网络等其他机器学习模型已经能很好完成二分类、多分类,学习和研究SVM,理解SVM背后丰富算法知识,对以后研究其他算法大有裨益;在实现SVM过程中,会综合利用之前介绍的一维搜索、KKT条件、惩罚函数等相关知识。本篇首先通过详解SVM原理,后介绍如何利用python从零实现SVM算法。
4.部分源码
%% 读取图片
%% 读取图片
%% 读取图片
folder='images\iphone4\';
list=dir('images\iphone4\*.jpg');
[Num_images1,I1] = func_read(folder,list);
folder='images\canon\';
list=dir('images\canon\*.jpg');
[Num_images2,I2] = func_read(folder,list);
%% 提取图片中的特征数据并归一化(提取颜色直方图特征来识别相机)
%% 提取图片中的特征数据并归一化(提取颜色直方图特征来识别相机)
%% 提取图片中的特征数据并归一化(提取颜色直方图特征来识别相机)
for i=1:Num_images1
F1(:,i) = func_hist(I1(:,:,i));
end
for i=1:Num_images2
F2(:,i) = func_hist(I2(:,:,i));
end
lens = min(size(F1,2),size(F2,2));
%保证输入的数据数量是相同的
F1_train = F1(:,1:lens)';
F2_train = F2(:,1:lens)';
save F1_train.mat F1_train
save F2_train.mat F2_train
%% 随机获取一张图片
%% 随机获取一张图片
%% 随机获取一张图片
test_images = imread('images\test\8.JPG');
figure;
imshow(test_images);
F_test = func_hist(test_images);
%%
%%
%%
%通过SVM进行训练
%利用SVM训练结果进行分类得到测试结果
func_classifier(F1_train,F2_train,F_test);
fprintf('\n\n');
disp('算法运行时间:');
toc
09_012_m