⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fanshebilv.asv

📁 峰值检测
💻 ASV
字号:
%将不同浓度的曲线呈现在一张图像上,看参比带的作用
clear;close all;
fcol=['r','g','b']; %初始化色彩
zongfeng=zeros(5,7);
zongbeijing=zeros(5,7);
bizhifengzhi=zeros(5,7);
for n=1:5
     fdir=strcat('F:\matlab work\photo',num2str(n));
     cd(fdir);   
  for i=1:7
  T=imread(strcat('IMG',num2str(i),'.jpg'));%读入图像,不显示
         %巴特沃兹滤波,不显示滤波后图像
        for k=1:3
          A=T(:,:,k);
         for j=1:300
            B=A(j,:);
            C=double(B); %将整形转换为双精度型
            [M,N]=butter(8,0.4); %使用8阶,截至频率是0.4的巴特沃兹滤波器
            D=filter(M,N,C);
            A(k,:)=D;
            T(:,:,k)=A;
         end
       end
       %在滤波后图像上截取目标图
        rect=imcrop(T,[1040,515,100,108]);%1010,506,265,105
       %反应曲线
       x=1:100; y=70*ones(1,length(x)); %y=ones(a,b);表示形成a行b列全为1的数列。
                                 %词句表示y=100的一条长为550的线段。
        Cur0=improfile(rect,x,y); %improfile用于沿着图像中一条直线段路径或直线路径计算并绘制其强度(灰度)值。
                             %彩色图像是将红绿蓝分 离开了,个表达独立的线条图形。
      %三点平均滤波
      Cur1=Cur0(:,:,2)';
     for p=2:(length(Cur1)-1)
      Cur2(p)=(Cur1(p-1)+Cur1(p)+Cur1(p+1))/3;
      Cur2(1)=Cur1(1);
      Cur2(length(Cur1))=Cur1(length(Cur1));
     end
     %将曲线值的转至存成一个矩阵,方便后面计算
     juzhen(i,:)=Cur2;
     %plot(Cur2)
     hold on;
     
%寻找峰值,法二:自动定位法法。
fengzhi=zeros(1,i);    
for j=1:99                                                                                    
    pingjunzhen(1,j)=mean(juzhen(:,j));
end

jiequ=pingjunzhen(32:82);
beijing=pingjunzhen(1:25);

MIN(1,i)=mean(jiequ);
a=[beijing1 beijing2];
MAX(1,i)=mean(a);
fengzhi=MIN;  %将峰值存成一个矩阵
beijing=MAX;  %将背景值存成一个矩阵

end 

%求总峰的比值
zongfeng(n,:)=fengzhi;
zongbeijing(n,:)=beijing;
for i=1:5
bizhifengzhi(i,:)=(zongfeng(i,:)-(174.3209-beijing))/174.3209;
end
bizhifengzhipj=zeros(5,1);
for p=1:5
bizhifengzhipj=mean(bizhifengzhi(i,:));
% for i=1:5
%     j=1:7
% biaopian(1,5)=std(zongfeng(i,:));
% cancha(i,j)=abs(zongfeng(i,j)-mean(zongfeng(i,:)));
% end

%    for t=1:n
%     tt=mean(zongfeng(t,:));
%      pjfengzhi(1,t)=tt
%    end
% plot(pingjunzhen);
% hold on;
% grid on;   
%chongfuzhi(1,n)=(2*biaopian(1,n))/151.3464
%CV(1,n)=biaopian/pjfengzhi
%for i=1:5
%maxpiancha(1,n)=max(abs(zongfeng(n,i)-pjfengzhi(1,n)))
%zhunquedu=(maxpiancha+2*biaopian)/151.3464
end
end
% figure;
% x=[3.0,2.9,2.8];
% y=pjfengzhi(1:3);
% plot(x,y);
% hold on;
% grid on;
end
end



% command window
% for i=1:5
% pingjun(i)=mean(zongfeng(i,:));
% end
% for i=1:5
% for j=1:30
% if cancha(i,j)>3*biaopian
% zongfeng(i,j)=pingjun(i)
% else continue
% end
% end
% end
% for i=1:5
% piancha(i)=std(zongfeng(i,:))
% end
%  for i=1:5
% zongfengmean(i)=mean(zongfeng(i,:))
% end
% X=[1 2 5 10 20];
% Y=zongfengmean;
% cftool(X,Y)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -