% 读取矿渣图像(假设是灰度图像)
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)
等风来1249
- 粉丝: 28
- 资源: 32
最新资源
- GMSK 的最大似然序列检测Matlab代码.rar
- Gray编码2^2n-QAM调制的AWGN下的精确BER附Matlab代码.rar
- GSM信道的编码、交织、编码和调制Matlab代码.rar
- IEEE 802.11b标准兼容的链路层代码,用于基于MATLAB的软件定义无线电.rar
- IEEE 802.15.3a UWB信道模型的Matlab实现.rar
- LSE和稀疏信道估计的OFDM系统的BER性能Matlab代码.rar
- LSE信道估计的性能将根据接收数据的误码率来评估Matlab代码.rar
- Matlab程序模拟了BPSK调制在AWGN信道中的误码率性能。.rar
- M 阵列 QAM 调制的 MATLAB 代码.rar
- MATLAB程序模拟了BPSK接收器.rar
- MATLAB代码的基本传输线参数计算工具,计算一系列传输线的基本参数,如条带宽度、间距等。.rar
- Matlab代码对随机生成的位模式进行了PSK调制和解调.rar
- Matlab代码计算了SM在信道系数建模为不相关瑞利衰落信道情况下的误码率.rar
- Matlab代码实现了脉冲编码调制(PCM)及其变体Delta调制.rar
- MATLAB代码用于ASK调制和解调.rar
- Matlab代码计算瑞利信道中 16-QAM 的 BER 值。.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈