• 大小: 6.73MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-28
  • 语言: 其他
  • 标签: svm抠图  

资源简介

利用svm完成图像的目标分割,里面包含测试图片,效果还不错,值得用户去学习

资源截图

代码片段和文件信息


%% 
tic;
close all;
% clear;
clc;
format compact;
%%
%pic = imread(‘f3.jpg‘);
[filenamepathnameflag]=uigetfile(‘*.jpg‘‘请导入图像文件‘);
pic=imread([pathnamefilename]);
figure;
imshow(pic);
%% 确定训练集

TrainData_background = zeros(203‘double‘);
TrainData_foreground = zeros(203‘double‘);

% 背景采样
msgbox(‘Please get 20 background samples‘‘Background Samples‘‘help‘);
pause;
for run = 1:20
    [xy] = ginput(1);
    hold on;
    plot(xy‘r*‘);
    x = uint8(x);
    y = uint8(y);

    TrainData_background(run1) = pic(xy1);
    TrainData_background(run2) = pic(xy2);
    TrainData_background(run3) = pic(xy3);
end 
% 待分割出来的前景采样
msgbox(‘Please get 20 foreground samples which is the part to be segmented‘‘Foreground Samples‘‘help‘);
pause;
for run = 1:20
    [xy] = ginput(1);
    hold on;
    plot(xy‘ro‘);
    x = uint8(x);
    y = uint8(y);
    TrainData_foreground(run1) = pic(xy1);
    TrainData_foreground(run2) = pic(xy2);
    TrainData_foreground(run3) = pic(xy3);
end 
% let background be 0 & foreground 1
TrainLabel = [zeros(length(TrainData_background)1); ...
    ones(length(TrainData_foreground)1)];
%% 建立支持向量机 基于libsvm
TrainData = [TrainData_background;TrainData_foreground];

model = svmtrain(TrainLabel TrainData ‘-t 1 -d 1‘);
%% 进行预测 i.e.进行图像分割 基于libsvm
preTrainLabel = svmpredict(TrainLabel TrainData model);
[mnk] = size(pic);
TestData = double(reshape(picm*nk));
TestLabal = svmpredict(zeros(length(TestData)1) TestData model);
%% 
ind = reshape([TestLabalTestLabalTestLabal]mnk);
ind = logical(ind);
pic_seg = pic;
pic_seg(~ind) = 0;
figure;
imshow(pic_seg);
figure;
subplot(121);
imshow(pic);
subplot(122);
imshow(pic_seg);
%%
toc;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    2539047  2017-02-04 15:59  RedMaple_3.jpg

     文件       6386  2015-11-25 18:26  112502\f1.jpg

     文件      11618  2015-11-25 18:26  112502\f2.jpg

     文件       9972  2015-11-25 18:24  112502\f3.jpg

     文件      12822  2015-11-25 18:27  112502\f4.jpg

     文件      11100  2015-11-25 18:25  112502\f5.jpg

     文件      17122  2015-11-25 18:27  112502\f6.jpg

     文件       1747  2017-02-04 16:29  112502\seg2.asv

     文件       1747  2015-11-26 00:38  112502\seg2.m

     文件     483264  2015-11-25 21:21  112502\SVM演示效果.docx

     文件        385  2009-04-21 16:05  kmeans后的图像分割\classtrain.mat

     文件        384  2009-04-21 16:21  kmeans后的图像分割\classtrain_car_4.mat

     文件        339  2009-04-21 16:23  kmeans后的图像分割\classtrain_figure_1.mat

     文件        338  2009-04-21 16:25  kmeans后的图像分割\classtrain_object_2.mat

     文件       5272  2008-09-19 16:22  kmeans后的图像分割\determine_alpha1amended.m

     文件       3493  2008-08-26 16:40  kmeans后的图像分割\determine_alpha2.m

     文件       7330  2009-04-21 11:58  kmeans后的图像分割\free sample.fig

     文件        808  2009-04-21 14:33  kmeans后的图像分割\free_sample_090421.asv

     文件        955  2009-04-21 15:48  kmeans后的图像分割\free_sample_090421.m

     文件       1073  2005-07-26 16:24  kmeans后的图像分割\Kernel.m

     文件       1500  2009-02-17 17:32  kmeans后的图像分割\kmeans.m

     文件        347  2017-02-04 16:12  kmeans后的图像分割\readme.txt

     文件       3245  2009-04-21 10:48  kmeans后的图像分割\seglab_SMO_algorithm_090421.m

     文件       1917  2009-04-21 13:23  kmeans后的图像分割\seg_lab_090421.asv

     文件       1990  2009-04-22 10:03  kmeans后的图像分割\seg_lab_090421.m

     文件    2333199  2017-02-04 15:59  RedMaple_1.jpg

     文件    1691757  2017-02-04 15:59  RedMaple_2.JPG

     目录          0  2017-02-04 16:37  112502

     目录          0  2017-02-04 16:37  kmeans后的图像分割

----------- ---------  ---------- -----  ----

............此处省略2个文件信息

评论

共有 条评论

相关资源