1.问题描述:
烟雾识别的matlab仿真
2.部分程序:
clc;
clear all;
k=input('Enter the file name','s'); % input image; color image
K=imread(k);
HSV = rgb2hsv(K);
%[imx,imy]=size(HSV);
H = HSV(:, :, 1);%色调
S = HSV(:, :, 2);%饱和度
V = HSV(:, :, 3);%亮度
[Hcounts,x] = imhist(H);
[Scounts,y] = imhist(S);
[Vcounts,z] = imhist(V);
T1=graythresh(H); %默认的就是用otsu
I1=im2bw(H,T1);
%subplot(1,3,1),imshow(I3);
T2=graythresh(S); %默认的就是用otsu
I2=im2bw(S,T2);
%subplot(1,3,2),imshow(I4);
T3=graythresh(V); %默认的就是用otsu
I3=im2bw(V,T3);
I4=imcomplement(I3);
%subplot(1,3,3),imshow(I5);
I5=I1&I4;
%I7=imcomplement(I6);
[imx,imy]=size(I5);
C=[ 0 1 1 0;
1 1 1 1 ;
1 1 1 1
0 1 1 0;];
I6=imopen(I5,C);
I7=imclose(I6,C);
%I10=imcomplement(I9);
L = bwlabel(I7,8);% Calculating connected components
mx=max(max(L))
[r,c] = find(L==12);
rc = [r c];
[sx sy]=size(rc);
n1=zeros(imx,imy);
for i=1:sx
x1=rc(i,1);
y1=rc(i,2);
n1(x1,y1)=255;
end % Storing the extracted image in an array
3.仿真结论:
D-24