• 大小: 10.23MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-11-12
  • 语言: Matlab
  • 标签:

资源简介

这是在MATLAB exchange下载的基于主动轮廓模型(ASM)的MATLAB二维图像分割代码,自己已经对代码进行了详细注释。里面也有数据采集的代码,可以直接运行,大家也可以在MATLAB exchange上对原始代码进行下载。

资源截图

代码片段和文件信息

% This script shows an example of an working basic Active Shape Model
% with a few hand pictures.
%
% Literature used: Ginneken B. et al. “Active Shape Model Segmentation 
% with Optimal Features“ IEEE Transactions on Medical Imaging 2002.
%
% Functions are written by D.Kroon University of Twente (February 2010)
clear all; clc; close all;
% Add functions path to matlab search path
functionname=‘ASM_2D_example.m‘; functiondir=which(functionname);
functiondir=functiondir(1:end-length(functionname));
addpath([functiondir ‘Functions‘])
addpath([functiondir ‘ASM Functions‘])
addpath([functiondir ‘InterpFast_version1‘])

% Try to compile c-files
cd([functiondir ‘InterpFast_version1‘])
try
    mex(‘interp2fast_double.c‘‘image_interpolation.c‘);
catch ME
    disp(‘compile c-files failed: example will be slow‘);
end
cd(functiondir);


%% Set options
% Number of contour points interpolated between the major landmarks.
% 在主要特征点之间插值的轮廓点的数量
options.ni=20;
% Length of landmark intensity profile
% 强度剖面的特征点的长度
options.k = 8; 
% Search length (in pixels) for optimal contourpoint position 
% 为了优化特征点位置,寻找像素的长度??
% in both normal directions of the contourpoint.
% 在轮廓点的法向方向的两边
options.ns=6;
% Number of image resolution scales
% 图像分辨率尺度
options.nscales=2;
% Set normal contour limit to +- m*sqrt( eigenvalue )
% 设置轮廓法线  误差为正负m*sqrt( eigenvalue )    那个正负根3namda
options.m=3;
% Number of search itterations
% 搜索迭代次数
options.nsearch=40;
% If verbose is true all debug images will be shown.
% 如果verbose是真,所有调试图像都显示???
options.verbose=true;
% The original minimal Mahanobis distance using edge gradient (true)
% 使用边界梯度初始最初的最小马氏距离
% or new minimal PCA parameters using the intensities. (false)
% 或者用强度作为新的最小PCA参数
options.originalsearch=false;  

%% Load training data   数据载入
% First Load the Hand Training DataSets (Contour and Image)
% 首先载入手训练数据集合(轮廓和图像)
% The LoadDataSetNiceContour not only reads the contour points but 
% 载入好的轮廓数据集合,不仅读取轮廓点,也
% also resamples them to get a nice uniform spacing between the important
% 为得到一个好的统一的特征空间,在两个重要的轮廓特征点之间对他们进行重采样
% landmark contour points.
% 数据变量初始化
TrainingData=struct;
for i=1:10
    % 读取Fotos文件夹里面的数据,并开始初始化文件名
    is=num2str(i); 
    number = ‘000‘;
    number(end-length(is)+1:end)=is; 
    % filename=[‘..\images2D\contour‘ number ‘.mat‘];
    % load(filename);
    % 读取图片
    filename=[‘Fotos/train‘ number ‘.jpg‘];
    % 将图片数据变为浮点型并显示
    I=im2double(imread(filename));  
    % 读取该图片对应的mat数据
    filename=[‘Fotos/train‘ number ‘.mat‘];
    % 绘制保存的mat数据插值后在图像中的位置
    [VerticesLines]=LoadDataSetNiceContour(filenameoptions.nioptions.verbose);
    if(options.verbose)
        t=mod(i-14); 
        if(t==0) 
            figure; 
        end
        subplot(22t+1) 
        imshow(I); 
        hold on;
        % P1中存放的是没有插值的鼠标采集的点  P2中存放的是对采集的点插值后的点 
        P1=Vertices(Lines(:1):); P2=Vertices(Lines(:2):);
        plot([P1(:2) P2(:2)]‘[P1(

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-02-28 16:32  ASM_2D\
     目录           0  2017-01-19 17:11  ASM_2D\ASM Functions\
     文件        6342  2017-01-19 17:16  ASM_2D\ASM Functions\ASM_ApplyModel2D.m
     文件         724  2017-01-19 16:42  ASM_2D\ASM Functions\ASM_GetContourNormals2D.m
     文件        2852  2014-02-12 13:49  ASM_2D\ASM Functions\ASM_MakeAppearanceModel2D.m
     文件        1234  2017-01-19 16:24  ASM_2D\ASM Functions\ASM_MakeShapeModel2D.m
     文件        1001  2017-01-19 16:21  ASM_2D\ASM Functions\ASM_align_data2D.m
     文件         343  2017-01-19 16:38  ASM_2D\ASM Functions\ASM_align_data_inverse2D.m
     文件        2028  2017-01-19 16:56  ASM_2D\ASM Functions\ASM_getProfileAndDerivatives2D.m
     文件        5215  2017-01-19 17:15  ASM_2D\ASM_2D_example.m
     目录           0  2017-01-19 14:36  ASM_2D\Fotos\
     文件       11264  2014-02-12 13:49  ASM_2D\Fotos\Thumbs.db
     文件       23898  2014-02-12 13:49  ASM_2D\Fotos\test001.jpg
     文件       21022  2014-02-12 13:49  ASM_2D\Fotos\train001.jpg
     文件      792862  2014-02-12 13:49  ASM_2D\Fotos\train001.mat
     文件       32785  2014-02-12 13:49  ASM_2D\Fotos\train002.jpg
     文件     1240485  2014-02-12 13:49  ASM_2D\Fotos\train002.mat
     文件       25816  2014-02-12 13:49  ASM_2D\Fotos\train003.jpg
     文件      935188  2014-02-12 13:49  ASM_2D\Fotos\train003.mat
     文件       31684  2014-02-12 13:49  ASM_2D\Fotos\train004.jpg
     文件     1277713  2014-02-12 13:49  ASM_2D\Fotos\train004.mat
     文件       32044  2014-02-12 13:49  ASM_2D\Fotos\train005.jpg
     文件     1284249  2014-02-12 13:49  ASM_2D\Fotos\train005.mat
     文件       22160  2014-02-12 13:49  ASM_2D\Fotos\train006.jpg
     文件      815440  2014-02-12 13:49  ASM_2D\Fotos\train006.mat
     文件       21454  2014-02-12 13:49  ASM_2D\Fotos\train007.jpg
     文件      787937  2014-02-12 13:49  ASM_2D\Fotos\train007.mat
     文件       24265  2014-02-12 13:49  ASM_2D\Fotos\train008.jpg
     文件      889927  2014-02-12 13:49  ASM_2D\Fotos\train008.mat
     文件       22379  2014-02-12 13:49  ASM_2D\Fotos\train009.jpg
     文件      965003  2014-02-12 13:49  ASM_2D\Fotos\train009.mat
............此处省略31个文件信息

评论

共有 条评论

相关资源