重心解模糊化matlab,谁能给我个用重心法的MATLAB模糊推理程序

匿名用户

1级

2015-05-18 回答

我们实验做得,不知对你有用吗?

分别利用Roberts、Prewitt和Sobel算子对lena.img进行边缘检测

clc;

fid=fopen(' F:\数字图像处理\实验二 在 502-111 (603-003) 上\img\lena.bmp','r');

f=fread(fid,[256,256],'uchar');

GR=f;

GP=f;

GS=f;

for x=2:255

for y=2:255

GRx(x,y)=f(x,y)-f(x+1,y+1);

GRy(x,y)=f(x,y+1)-f(x+1,y);

GR(x,y)=sqrt((GRx(x,y)).^2+(GRy(x,y)).^2);

GPx(x,y)=(f(x-1,y+1)+f(x,y+1)+f(x+1,y+1))/3-(f(x-1,y-1)+f(x,y-1)+f(x+1,y-1))/3;

GPy(x,y)=(f(x-1,y-1)+f(x-1,y)+f(x-1,y+1))/3-(f(x+1,y-1)+f(x+1,y)+f(x+1,y+1))/3;

GP(x,y)=sqrt((GPx(x,y)).^2+(GPy(x,y)).^2);

GSx(x,y)=(f(x-1,y+1)+2*f(x,y+1)+f(x+1,y+1))/3-(f(x-1,y-1)+2*f(x,y-1)+f(x+1,y-1))/3;

GSy(x,y)=(f(x-1,y-1)+2*f(x-1,y)+f(x-1,y+1))/3-(f(x+1,y-1)+2*f(x+1,y)+f(x+1,y+1))/3;

GS(x,y)=sqrt((GSx(x,y)).^2+(GSy(x,y)).^2);

end

end

subplot(2,2,1);

imshow(f,[0,255]);title('原图像');

subplot(2,2,2);

imshow(GR,[0,255]);title('Roberts');

subplot(2,2,3);

imshow(GP,[0,255]);title('Prewitt');

subplot(2,2,4);

imshow(GS,[0,255]);title('Sobel');

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值