I = imread('火焰2.jpg');
figure
mainfc;
subplot(231)
imshow(I)
title('原图')
% 获取尺寸
[M,N,C]=size(I);
%% HSV颜色分割部分
% 原图像转换为HSV模型
hsv=rgb2hsv(I);
subplot(232)
imshow(hsv)
title('hsv分量图')
% 分别获取H、S、V分量
h=hsv(:,:,1);
s=hsv(:,:,2);
v=hsv(:,:,3);
%% 分割出火焰部分
% OTSU获取阈值分割
thr_sourse=graythresh(v);
if thr_sourse<0.3
thr=thr_sourse*2.8;
elseif thr_sourse<0.4;
thr=thr_sourse*1.8;
else
thr=thr_sourse*1.5;
end
% 分割
I_bw_v=im2bw(v,0.8);
subplot(233)
imshow(I_bw_v)
title('分割图')
%% 形态学处理部分
% 设置去噪参数
set_area=50;
% 去噪
I_bw=bwareaopen(I_bw_v,set_area);
subplot(234)
imshow(I_bw)
title('去噪图')
% 填充
I_bw=imfill(I_bw,'holes');
% 膨胀操作,参数10
SE=ones(12);
I_bw=imdilate(I_bw,SE);
% 填充
I_bw=imfill(I_bw,'holes');
subplot(235)
imshow(I_bw)
title('填充')
% 设置去噪参数
set_area=10000;
% 去噪
I_bw=bwareaopen(I_bw,set_area);
%% 定位和识别部分
% 显示
subplot(236)
imshow(I);
title('标定')
hold on
% 定位和标定
STATS = regionprops(I_bw,'basic');
% 标定每个对象
for j=1:length(STATS)
% 标记
rectangle('Position',STATS(j).BoundingBox,'EdgeColor','g','LineWidth',4);
end
MATLAB管家matlab674
- 粉丝: 1508
- 资源: 249
最新资源
- 【Unity 火系生物包】Fire Creatures Pack 轻松创建火焰生物
- 【Unity奇幻怪物模型资源】Fantasy Monsters Animated (Megapack)
- 数据库.zip-数据库mysql的思维导图
- 【Unity高级天空和天气插件】Enviro 3 - Sky and Weather 创建逼真的天空和天气效果
- MATLAB实现GWO-SVM多输入单输出回归预测(灰狼算法优化支持向量机)(包含详细的完整的程序和数据)
- MATLAB实现基于BiLSTM-AdaBoost双向长短期记忆网络多输入单输出回归预测(包含详细的完整的程序和数据)
- MATLAB实现基于CNN-BiGRU-Multihead-Attention-KDE多变量时间序列区间预测(包含详细的完整的程
- C#开发的调用医保dll.zip
- MATLAB实现基于GRU-AdaBoost门控循环单元结合AdaBoost多输入单输出回归预测(含完整的程序和代码详解)
- MATLAB实现基于QPSO-LSTM、PSO-LSTM、LSTM多输入单输出回归预测(含完整的程序和代码详解)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈