跪求用matlab做数字图像处理森林火灾识别的方法研究

获取火焰图像的轮廓然后判断火势大小 主要是程序代码 谢谢了

function ck
close all
clear all
I=imread('ck.bmp'); %读取图像
subplot(3,3,1)
imshow(I) %显示原始图像
title('原始图像')
P1=imnoise(I,'gaussian',0.02) %加入高斯躁声
subplot(3,3,2)
imshow(P1) %加入高斯躁声后显示图像
title('加入高斯噪声后的图像');
I1=im2double(P1); %将彩图序列变成双精度
I2=rgb2gray(I1); %将彩色图变成灰色图
[thr, sorh, keepapp]=ddencmp('den','wv',I2);
I3=medfilt2(I2,[9 9]); %中值滤波
I4=wdencmp('gbl',I2,'sym4',2,thr,sorh,keepapp); %小波除噪
I5=imresize(I4,1.5,'bicubic'); %图像大小
BW1=edge(I5,'sobel'); %sobel图像边缘提取
BW2=edge(I5,'roberts'); %roberts图像边缘提取
BW3=edge(I5,'prewitt'); %prewitt图像边缘提取
BW4=edge(I5,'log'); %log图像边缘提取
BW5=edge(I5,'canny'); %canny图像边缘提取
h=fspecial('gaussian',5); %高斯滤波
BW6=edge(I5,'zerocross',[ ],h); %zerocross图像边缘提取
figure;
subplot(1,3,1); %图划分为一行三幅图,第一幅图
imshow(I2)%绘图
title('灰度图');
subplot(1,3,2);
imshow(I3)
title('中值滤波后图');
subplot(1,3,3);
imshow(I4)
title('小波除噪后图');
figure;
subplot(1,3,1);
imshow(BW1);
title('Sobel算子');
subplot(1,3,2);
imshow(BW2);
title('Roberts算子');
subplot(1,3,3);
imshow(BW3);
title('Prewitt算子');
save datI4 I4
ck1;
function ck1
load datI4 I4%导入数据I4
figure;
plot(I4)
U=I4;
save datU U%存入数据U
I4=I4-0.4438;
for i=1:166;
for j=1:189;
if I4(i,j)<=0
I4(i,j)=0;
else
I4(i,j)=1;
end
end
end
figure;
plot(I4)
B=sum (sum(I4))
上面是我毕业设计用到的一些程序,图像名字'ck.bmp',我毕业设计也是关于图像处理的,不过跟你的方向不同,我是处理图像中的缺陷,希望对你有所帮助。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-11
已发送,请查收!发送邮箱[email protected]
追问

请将程序发至邮箱:[email protected],谢谢!!