matlab cfun,【图片】求求各位大佬帮弱鸡看看【matlab吧】_百度贴吧
該樓層疑似違規已被系統折疊?隱藏此樓查看此樓
clear all;
close all;
I=imread('c:\Users\Administrator\Desktop\3xx.bmp');
%I=rgb2gray(I11);
I1=double(I);
[m,n]=size(I);
a=zeros(1,n);
cii=1:(n-1)*20+1
[z zz]=size(cii)
summ=a;
b=zeros(1,m);
yyy=0;
for li=1:1:m
figure (1);
subplot(2,2,1);
hang=I1(li,:);%讀取每一行的圖像數據
i=[1:1:n];
plot(i, hang, 'r','linewidth',2);%顯示原始每一行的灰度分布圖
%set(gca,'xtick',0:2:n)
hold on;
grid on;
title('各級邊緣擴散函數(插值前)');
yidao=diff(hang,1);
[dmax,jizhi]=max(abs(yidao));
lindian=linspace(jizhi-2,jizhi+2,5);
hang1=hang(jizhi-2:jizhi+2);
c=polyfit(lindian,hang1,3);
lindian1=jizhi-2:0.01:jizhi+2;
d=polyval(c,lindian1);
plot(lindian1,d,'g')
hold on;
yidao1=diff(d,1);
[dmax1,jizhi1]=max(yidao1);
jizhi1=jizhi-2+(jizhi1/100);
b(li)=jizhi1;
%三次樣條插值
xx=1:0.05:n;
yy=spline(i,hang,xx);
subplot(2,2,3);
plot(xx,yy);
hold on;
grid on;
title('各級邊緣擴散函數檢測結果(插值后)');
summ=summ+hang;%代表三次樣條插值前各條曲線相加
yyy=yy+yyy;%yyy代表插值后各條曲線相加
end
figure (1);
subplot(2,2,2);
i=[1:1:n];
plot(i,summ/(255*m),'g','linewidth',2);
%set(gca,'xtick',0:2:n)
hold on;
grid on;
title('平均邊緣擴散函數(未插值)');
subplot(2,2,4);
cii=1:0.05:n;
plot(cii,yyy/(255*m),'g','linewidth',2);
grid on;
hold on;
title('平均邊緣擴散函數(三次樣條插值后)');
figure (2);
imshow(uint8(I1));
hold on;
i1=[1:1:m];
plot(b,i1,'*r');
hold on;
c1=polyfit(b,i1,1);
d1=polyval(c1,i1);%d1代表最終的亞像元定位點
plot(i1,d1,'b','linewidth',2);
hold on;
title ('邊緣檢測結果');
figure (3);
subplot(1,2,1);
lsf=diff(yyy);
lsf1=abs(lsf);
[zz,zzz]=size(lsf1);
x=linspace(1,n,zzz);
x=x';
y=lsf1;
y=y';
[ymax,xmax]=max(y);
xlim([min(x) max(x)]);
plot(x,y,'.')
plot(x,y,'-b');
hold on;
%s = fitoptions('Startpoint',[20 20 20]);
%f = fittype('a*exp(-((x-b)/c)^2)','options',s);
% [cfun,gof] = fit(x(:),y(:),f);
% yy = cfun.a*exp(-((x-cfun.b)/cfun.c).^2);
% [ymax,xmax]=max(yy);
f='a*exp(-((x-b)/c)^2)';
startPoints=[20 20 20];
f1=fit(x,y,f,'Start',startPoints);
xlim([min(x) max(x)]);
plot(f1)
總結
以上是生活随笔為你收集整理的matlab cfun,【图片】求求各位大佬帮弱鸡看看【matlab吧】_百度贴吧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab rltool,matlab
- 下一篇: python转义符个数,python(五