📄 grayfanshebi.m
字号:
%将不同浓度的曲线呈现在一张图像上,看参比带的作用
clear;close all;
fcol=['r','g','b']; %初始化色彩
zongfeng=zeros(9,5);
zongbeijing=zeros(9,5);
bizhifengzhi=zeros(9,5);
zongfeng2=zeros(9,5);
liangfengbizhi=zeros(9,5);
for n=1:9
fdir=strcat('F:\matlab work\203photo',num2str(n));
cd(fdir);
for i=1:5
T=imread(strcat(num2str(i),'.jpg'));%读入图像,不显示
I=rgb2gray(T);%转成灰度图像
%巴特沃兹滤波,不显示滤波后图像
for j=1:344
A=I(j,:);
B=double(A); %将整形转换为双精度型
[M,N]=butter(8,0.4); %使用8阶,截至频率是0.4的巴特沃兹滤波器
C=filter(M,N,B);
A=C;
end
%在滤波后图像上截取目标图
rect=imcrop(I,[1575,770,344,145]);%1010,506,265,105
%反应曲线
x=1:344; y=50*ones(1,length(x)); %y=ones(a,b);表示形成a行b列全为1的数列。
%词句表示y=100的一条长为550的线段。
Cur0=improfile(rect,x,y); %improfile用于沿着图像中一条直线段路径或直线路径计算并绘制其强度(灰度)值。
%彩色图像是将红绿蓝分 离开了,个表达独立的线条图形。
%三点平均滤波
for p=2:(length(Cur0)-1)
Cur1(p)=(Cur0(p-1)+Cur0(p)+Cur0(p+1))/3;
Cur1(1)=Cur0(1);
Cur1(length(Cur0))=Cur0(length(Cur0));
end
%将曲线值的转至存成一个矩阵,方便后面计算
juzhen(i,:)=Cur1;
plot(Cur1)
hold on;
%寻找峰值,法二:自动定位法法。
fengzhi=zeros(1,i);
for j=1:343
pingjunzhen(1,j)=mean(juzhen(:,j));
end
jiequ=pingjunzhen(1:50);
beijing0=pingjunzhen(50:150);
jiequ1=pingjunzhen(225:275);
MIN(1,i)=mean(jiequ);
MAX(1,i)=mean(beijing0);
MIN1(1,i)=mean(jiequ1);
fengzhi=MIN; %将峰值存成一个矩阵
beijing=MAX; %将背景值存成一个矩阵
fengzhi1=MIN1;
end
%求总峰的比值
zongfeng(n,:)=fengzhi;
zongbeijing(n,:)=beijing;
zongfeng2(n,:)=fengzhi1;
for n=1:9
bizhifengzhi(n,:)=zongfeng(n,:)./zongbeijing(n,:);
%liangfengbizhi(n,:)=zongfeng(n,:)./zongfeng2(n,:);
end
bizhifengzhipj=zeros(9,1);
for i=1:9
bizhifengzhipj=mean(bizhifengzhi(i,:))
end
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -