% 读取矿渣图像(假设是灰度图像)
img = imread('22.jpg');
%灰度化
img = rgb2gray(img);
% 显示原始图像
figure();
imshow(img);
title('原始图像');
% 应用3×3中值滤波器进行降噪
filtered_img = medfilt2(img, [3, 3]);
% 显示降噪后的图像
% figure();
% imshow(filtered_img);
% title('降噪后的图像');
% 绘制降噪前后的灰度直方图
figure();
% 降噪前的灰度直方图
subplot(2, 1, 1);
histogram(img(:), 0:255);
title('降噪前的灰度直方图');
xlabel('灰度级');
ylabel('像素数量');
% 降噪后的灰度直方图
subplot(2, 1, 2);
histogram(filtered_img(:), 0:255);
title('降噪后的灰度直方图');
xlabel('灰度级');
ylabel('像素数量');
% 调整图像间距
sgtitle('降噪前后的灰度直方图');
% 定义灰度阈值区间
low = 0; % 低阈值
high = 99; % 高阈值
% 创建一个与图像大小相同的二值图像,将在灰度区间内的像素置为1,否则为0
binary_image0 = (filtered_img >= low) & (filtered_img <= high);
figure();
imshow(binary_image0)
% 定义灰度阈值区间
low = 100; % 低阈值
high = 161; % 高阈值
% 创建一个与图像大小相同的二值图像,将在灰度区间内的像素置为1,否则为0
binary_image1 = (filtered_img >= low) & (filtered_img <= high);
% figure();
% imshow(binary_image1)
% 去除小的物体,使用面积开运算
openedImg = bwareaopen(binary_image1, 1000);
figure();
imshow(openedImg);
% 定义灰度阈值区间
low = 162; % 低阈值
high = 184; % 高阈值
% 创建一个与图像大小相同的二值图像,将在灰度区间内的像素置为1,否则为0
binary_image2 = (filtered_img >= low) & (filtered_img <= high);
% figure();
% imshow(binary_image2)
% 去除小的物体,使用面积开运算
openedImg = bwareaopen(binary_image2, 1000);
% figure();
% imshow(openedImg);
% 对边缘图像进行膨胀操作,弥补边缘断裂
dilatedEdgeImg = imdilate(openedImg, strel('disk',1));
figure();
imshow(dilatedEdgeImg);
% 使用regionprops函数获取连通区域的属性
stats = regionprops(dilatedEdgeImg, 'Area');
% 提取白色区域的面积
white_area = [stats.Area];
% 输出白色区域的总面积
total_white_area = sum(white_area);
disp(['白色区域的总面积为:', num2str(total_white_area)]);
% 定义灰度阈值区间
low = 200; % 低阈值
high = 255; % 高阈值
% 创建一个与图像大小相同的二值图像,将在灰度区间内的像素置为1,否则为0
binary_image3 = (filtered_img >= low) & (filtered_img <= high);
figure();
imshow(binary_image3)
% % 定义灰度阈值区间
% low = 173; % 低阈值
% high = 176; % 高阈值
% % 创建一个与图像大小相同的二值图像,将在灰度区间内的像素置为1,否则为0
% binary_image4 = (filtered_img >= low) & (filtered_img <= high);
% figure();
% imshow(binary_image4)
%
% % 定义灰度阈值区间
% low = 184; % 低阈值
% high = 255; % 高阈值
% % 创建一个与图像大小相同的二值图像,将在灰度区间内的像素置为1,否则为0
% binary_image5 = (filtered_img >= low) & (filtered_img <= high);
% figure();
% imshow(binary_image5)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
matlab实现矿渣相位分割,采用中值滤波去噪,生成灰度直方图,通过直方图获取各个物体的灰度值区间,从而分割出相应物体。 % 定义灰度阈值区间 low = 0; % 低阈值 high = 99; % 高阈值 % 创建一个与图像大小相同的二值图像,将在灰度区间内的像素置为1,否则为0 binary_image0 = (filtered_img >= low) & (filtered_img <= high); figure(); imshow(binary_image0) % 应用3×3中值滤波器进行降噪 filtered_img = medfilt2(img, [3, 3]); % 显示降噪后的图像 % figure(); % imshow(filtered_img); % title('降噪后的图像');
资源推荐
资源详情
资源评论
收起资源包目录
3.rar (14个子文件)
3
2285.png 9.86MB
2281.png 10.21MB
10.jpg 343KB
1049.png 8.06MB
1.tif 1.01MB
22.jpg 133KB
Untitled.m 3KB
1063.png 15.42MB
1028.png 1.2MB
Untitled1.m 264B
2.tif 797KB
1047.png 10.43MB
1060.png 13.94MB
2283.png 9.55MB
共 14 条
- 1
资源评论
等风来1249
- 粉丝: 28
- 资源: 32
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 精选微信小程序源码:汤总便利小程序(门店店铺类)小程序(含源码+源码导入视频教程&文档教程,亲测可用)
- Excel弹窗“此工作簿包含到一个或多个可能不安全的外部源的链接” 场景范例
- C语言《基于ROS melodic,底盘控制器基于STM32的一个2D激光SLAM自主导小车》+项目源码+文档说明
- winform上位机图像采集控件.zip
- 工具变量全国供应链创新试点城市DID数据集(2007-2023年).xlsx
- SasAppsUserKeyBarUserTech_86_1.0.0.1.kop
- 项目售后服务及培训.docx
- 贪心算法介绍及入门案例
- 项目实施管理方案.docx
- 精选微信小程序源码:熊猫签证小程序(含源码+源码导入视频教程&文档教程,亲测可用)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功