我想应用标记算法来标记图像中的作物和杂草。之后,我必须应用一些基于区域的特征提取。我为标记算法编写了代码,但每当我运行该代码时,它都会显示很多标签(例如1500到1600)。我不知道如何在此标记算法上应用基于区域的特征提取。
以下是标记算法的代码:
A=imread('Capture.PNG');
figure,imshow(A);
title('Original image');
B=im2bw(A);
figure,imshow(B);
label=bwlabel(B);
max(max(label))
im1= (label==1);
figure,imshow(im1);
figure,imshow(label==6);
for j=1:max(max(label))
[row, col] = find(label==j);
len=max(row)-min(row)+2;
breadth=max(col)-min(col)+2;
target=uint8(zeros([len breadth] ));
sy=min(col)-1;
sx=min(row)-1;
for i=1:size(row,1)
x=row(i,1)-sx;
y=col(i,1)-sy;
target(x,y)=A(row(i,1),col(i,1));
end
mytitle=strcat('Object Number:',num2str(j));
figure,imshow(target);title(mytitle);
a=size(target);
ax=a(1);
ay=a(2);
pos=[1,1,ay,ax];
rectangle('Position',pos,'EdgeColor','r')
end
输入图片:
输出图片:
输出图像必须包含检测到的裁剪区域(在基于区域的特征提取之后)