1 简介
介绍了MATLAB特点及其在科学计算尤其是图像处理方面的优越性。针对MATLAB工作环境下的彩色数字图像结构进行了论述分析,论述了数字图像基于阈值分割的基本原理与方法步骤,对于运用迭代法求最佳阈值的计算方法进行了系统说明与分析。基于阈值分割技术提出一种新的灰度算法,在此基础上得到了优质的图像分割效果,实现了对阈值分割技术的改善。
2 部分代码
% Main function which calls all other functions
function []= Main(img)
img='114_2.jpg';
Initial_Image = imread(img);
main_folder=strcat(img,'_folder');
mkdir(main_folder);
% char_folder=strcat(main_folder,'\char');
% mkdir(char_folder);
word_folder=strcat(main_folder,'\word');
mkdir(word_folder);
line_folder=strcat(main_folder,'\line');
mkdir(line_folder);
Binarized_Image = Binarize(Initial_Image);
binary_image=strcat(img,'_folder\bin.png');
imwrite(Binarized_Image,binary_image,'png');
Line_Matrix = Line_Segmentation(Binarized_Image);
folder_line=strcat(img,'_folder\line\');
for i=1:length(Line_Matrix)
line=Line_Matrix{i};
file=sprintf('L%d.png',i);
dir=strcat(folder_line,file);
imwrite(line,dir,'png');
end
Word_Matrix = cell(1, length(Line_Matrix));
for i=1:length(Line_Matrix)
XYZZ =Word_Segmentation(Line_Matrix(1,i));
Word_Matrix{i} = XYZZ;
end
folder_word=strcat(img,'_folder\word\');
for i=1:length(Word_Matrix)
line= Word_Matrix{i};
for j=1:length(line)
file=sprintf('L%dW%d.png',i,j);
dir=strcat(folder_word,file);
imwrite(cell2mat(Word_Matrix{i}(1,j)),dir,'png');
% Char_Segmentation(Word_Matrix{i}(1,j),i,j,img);
end
end
end
3 仿真结果
4 参考文献
[1]张勇, 曹高飞, 潘宏. 基于MATLAB GUI实现图像阈值分割处理的方法[J]. 河南科技, 2013(6):2.
部分理论引用网络文献,若有侵权联系博主删除。
5 MATLAB代码与数据下载地址
见博客主页