0
以下のコードは、画像の余分な白い部分を切り抜くためのコードです(画像サイズを縮小するためです)。すなわち、「A」が画像内に存在する場合、上部、下部、左および右のすべての余分な白色部分が除去される。このコードで組み込み関数を使用しない画像切り抜き用のmatlabコード
私は「合計」機能の使用を理解することはできませんよ、という点で助けてくださいは...
% Find the boundary of the image
[y2temp x2temp] = size(bw);
x1=1;
y1=1;
x2=x2temp;
y2=y2temp;
% Finding left side blank spac es
cntB=1;
while (sum(bw(:,cntB))==y2temp)
x1=x1+1;
cntB=cntB+1;
end
% Finding right side blank spaces
cntB=1;
while (sum(bw(cntB,:))==x2temp)
y1=y1+1;
cntB=cntB+1;
end
% Finding upper side blank spaces
cntB=x2temp;
while (sum(bw(:,cntB))==y2temp)
x2=x2-1;
cntB=cntB-1;
end
% Finding lower side blank spaces
cntB=y2temp;
while (sum(bw(cntB,:))==x2temp)
y2=y2-1;
cntB=cntB-1;
end
% Crop the image to the edge
bw2=imcrop(bw,[x1,y1,(x2-x1),(y2-y1)]);
さらに[](https://www.mathworks.com/help/matlab/ref/sum.html) –
も読んでください。ここでは、イメージ「bw」の行または列を合計します。インデックスは 'cntB'と呼ばれます。それらがすべて1である場合、合計は合計長さに等しい。それでwhileループを続けます。 – Gelliant
ありがとう、私はコードを理解した。 – Vishal