解决使用MATLAB进行图像二值化后仍有灰度值问题
发布时间
阅读量:
阅读量
近期利用MATLAB对JPEG格式的灰度图像实施二值化处理,处理后的图像像素值仅包含0与1两种状态(其中1表示白色,0表示黑色)。在保存图像时沿用了原文件名称,因此文件格式未发生改变。然而,在重新打开图像时,却发现其中仍存在非0或1的灰度数值。
最初所编写的代码中存在错误如下:
% writen by liuhuan
imgPath = 'F:\cutImage\123\'; % 图像库路径
imgDir = dir([imgPath '*.jpg']); % 遍历所有jpg格式文件
for i = 1:length(imgDir) % 遍历结构体就可以一一处理图片了
img = imread([imgPath imgDir(i).name]); %读取每张图片
thresh = graythresh(img); %自动确定二值化阈值
imgBW = im2bw(img,thresh); %对图像二值化
imwrite(imgBW,[imgPath imgDir(i).name]);
end;
全部评论 (0)
还没有任何评论哟~
