遍历法转载自:http://blog.youkuaiyun.com/FX677588/article/details/53126961
二值化法后来没找到当时参考的网页了,抱歉,若大家看到请一定告诉我,在此我把二值化方法封装到函数里。
使用工具:matlab
二值化函数如下:
function [F] = tobw(I)
J = rgb2gray(I);
row = size(I,1);
N = 12;
row_num = [1, ceil( (1:N)/N*row )];
f = cell(12,1);
factor = linspace(0.7, 0.4, 12);
for i = 1:12
f{i} = im2bw(J(row_num(i):row_num(i+1),:,:), factor(i));
if (i == 1)
F = f{i};
else
F = [F;f{i}];
end
end
end
主函数如下:
imgPath = 'C:\Users\LiAng\Documents\shufa\'; %待处理的文件夹路径
imgDir = dir([imgPath '*.jpg']);
imgPath2 = 'C:\Users\LiAng\Documents\process\' %存放处理好的数据的文件夹路径
for i = 1:length(imgDir)
I = imread([imgPath imgDir(i).name]);
try
imshow(tobw(I)) %调用上面定义的 tobw() 函数
imwrite(tobw(I),[imgPath2 imgDir(i).name])
end
end