Advertisement

解决使用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)

还没有任何评论哟~