ECG信号数字化处理技术

2011-08-16 20:18:35来源: 互联网

ECG信号是一维的数据。一般被记录在热敏纸上。不便于保存和处理。可以先用扫描仪,至少300DPI的分辨率,扫描下来。

使用PHOTOSHOP的旋转将图旋转到正确方向。使用魔棒工具 容差50 连续 将相应图线选出。反选后将背景的格子颜色,及说明去除。图像模式改为灰度,去除颜色。再交图像模式改为位图。50%阈值。另存成bmp文件。

然后使用下面的程序转换。bmp文件被读入MATLAB中,并查找非空边沿,然后再做一维数字化。bmp图像转换成对应文件名的文本文件,文本文件可以导入EXCEL或其它可以接受数据的程序中。数据以科学计数法表示。

% remove blank line and digitalize
% try to find 4 boundery and put it to
% an txt file
% 4 bounder is bup bdown bleft bright
%
% usage: removeblank 'filename' filename must be a bmp file

function y = removeblank( x )
a = imread(x,'bmp');
for i = 1 : length(a(:,1))
    if(length(find(a(i,:))) ~= 0)
        bup = i;
        break;
    end
end
for i = length(a(:,1)) : -1 : 1
    if(length(find(a(i,:))) ~= 0)
        bdown = i;
        break;
    end
end 
for i = length(a(1,:)) : -1 : 1
    if(length(find(a(:,i))) ~= 0)
        bright = i;
        break;
    end
end 
  
for i = 1 : length(a(1,:))
    if(length(find(a(:,i))) ~= 0)
        bleft = i;
        break;
    end
end;
% 4 boundery found


fid = fopen(['dg',x,'.txt'],'W');

for i = bup : bdown
    b = find(a(i, bleft : bright));
   
    if(length(b) == 0)
        c(i - bup + 1) = c(i - bup)
    else
    c(i-bup + 1) = sum(b)/(length(b));
end
fprintf(fid,'%6d\n',c(i-bup + 1));

end;
plot(c);
fclose(fid);
%imwrite(a(bup : bdown, bleft : bright),['rb',x] ,'bmp');

关键字:技术

编辑:神话 引用地址:http://www.eeworld.com.cn/mndz/2011/0816/article_11376.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
技术

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved