Matlab中的行矩阵编码

Matlab中的行矩阵编码,matlab,matrix,binary-data,Matlab,Matrix,Binary Data,任何人都可以提供这个代码的解释,以及我如何总结它 在不改变其功能的情况下简化它?我如何实现相同的算法,而不使其本身成为函数。将此添加到另一个代码。 感谢该函数获取一个二进制图像,然后在图像中查找没有对象的行(即只有黑色像素),并沿此线分割图像。此外,它会在子功能clip中裁剪出对象周围的所有空白(即黑色)区域 你可以把它简化为 function [fl re]=lines(im_text) %# Divide text in lines im_text=clip(im_text);

任何人都可以提供这个代码的解释,以及我如何总结它 在不改变其功能的情况下简化它?我如何实现相同的算法,而不使其本身成为函数。将此添加到另一个代码。
感谢

该函数获取一个二进制图像,然后在图像中查找没有对象的行(即只有黑色像素),并沿此线分割图像。此外,它会在子功能
clip
中裁剪出对象周围的所有空白(即黑色)区域

你可以把它简化为

function [fl re]=lines(im_text)  
%# Divide text in lines  
im_text=clip(im_text);  
num_filas=size(im_text,1);  
for s=1:num_filas  
    if sum(im_text(s,:))==0  
        nm=im_text(1:s-1, :); %# First line matrix  
        rm=im_text(s:end, :);%# Remain line matrix  
        fl = clip(nm);  
        re=clip(rm);  
        %#result  
        break  
    else  
        fl=im_text;%#Only one line.  
        re=[ ];  
    end  
end  
function img_out=clip(img_in)  
[f c]=find(img_in);  
img_out=img_in(min(f):max(f),min(c):max(c));%#Crops image  
clip
作为子函数放入函数中,或将其放入独立函数并放入路径中

cutRowIdx = find(all(~im_text,2),1,'first');
topPart = clip(im_text(1:cutRowIdx-1,:)); 
bottomPart = clip(im_text(cutRowIdx:end,:));