您正在寻找
bwlabel标记图像中的每个字母.
您可能会发现另一个有用的工具是
regionprops,尤其是’Image’属性.
在您的comment中,您声明您在使用Matlab标记区域的顺序时会遇到困难:Matlab的矩阵和图像以列主要顺序(即列后一列)存储在内存中,因此“发现”二进制文件中的新组件图像从上到下,从左到右.为了从一行到另一行逐行浏览图像,您可能需要考虑转置图像:
[ind map] = imread('http://i.gyazo.com/0ca8d4416a52b8bc3401da0b71a527fd.gif'); %//read indexed image
BW = max( ind2rgb(ind,map), [], 3 ) > .15; %//convert RGB image to binary mask
seg = regionprops( BW.', 'Image' ); %'// transpose input mask
seg = arrayfun( @(x) x.Image.', seg, 'Uni', 0 ); %'// flip back
现在你将单独的字母放在单元格数组seg中的单元格中.
请注意,通过为regionprops提供二进制输入,您无需显式调用bwlabel.