资源简介

从图像中提取曲线,并检测出曲线中的峰值。支持多峰值检测。

资源截图

代码片段和文件信息

BW1 = imread(‘BW1.BMP‘);

% 提取图像中的曲线
[h w] = size(BW1);
x = [];
y = [];
index = 0;
for i = 1 : w
    for j = 1 : h
        if BW1(j i) == 1            
            if (index == 0)
                x = [x w - i];
                y = [y h - j];
                index = index + 1;
            else
                if (x(index) ~= w - i)
                    x = [x w - i];
                    y = [y h - j];   
                    index = index + 1;
                end;
            end;
        end;
    end;
end

xx = max(x) : -0.1 : min(x);
yy = interp1(x y xx ‘linear‘); % 一维数据插值cublic

y = yy;
y(size(y 2)) = y(size(y 2) - 1) + 1;
x = xx;

w = size(y 2);
left = 1;
right = 0;
k = 0; % 0:斜率未知,1:上升,-1:下降
peak = [];

for i = 2 : w 
    if k == 0
     

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4074  2013-10-23 20:35  BW1.bmp
     文件        1815  2013-10-23 20:36  getMultiPeak.m

评论

共有 条评论