目标:
- 批量处理RGB图像,对其进行二值化处理(需要考虑二值化的阈值设置,此处不展开)
- 统计二值化之后,各个黑白图像中0、1 的像素点数目
- 使用折线图的方式,展示出统计的结果
首先进行输入文件夹 与输出目标文件夹的路径定义:
input_path = 'E:\test1\';%输入图片文件夹路径
output_path = 'E:\test2\';%输出文件夹路径
批量读取输入文件夹中的图片,对其进行二值化的处理,并保存到目标文件夹
img_path_list = dir(strcat(input_path,'*.jpg'));
img_num = length(img_path_list); % 对应文件夹下.jpg类型图像的数目
if img_num > 0 % 如果文件夹中的图片数目大于0
for j = 1:img_num
image_name = img_path_list(j).name; % 利用索引j获取当前图像的文件名,该文件名不包含
I = imread(strcat(input_path,image_name)); % 根据 路径名 + 文件名 读取图像
I = rgb2gray(I); %orgb2gray 转换成灰度图
threshold = graythresh(I); % 设置二值化图片的阈值
% threshold = 0.5; % 手动设置阈值
bw = im2bw(I,threshold); % 根据阈值 对图片I进行二值化操作
md_name = strcat('md', image_name); % 修改后的文件名设置,此文件名,不包含路径的文件名
saved_name = strcat(output_path, md_name); % 修改之后的图片的完整文件名: 路径名 + 文

这篇博客介绍了如何使用MATLAB批量处理RGB图像,进行二值化处理,并统计每个图像中0和1像素点的数量。通过折线图展示了统计结果,便于观察图像的黑白像素分布。文章提供了完整的代码实现,包括文件路径定义、图像读取、二值化、像素统计和图像保存等步骤。
最低0.47元/天 解锁文章
3万+

被折叠的 条评论
为什么被折叠?



