0
이미지에 슬라이딩 창이 있습니다. 해당 창 내의 평균 강도가> 210이면 GLCM 피쳐가 해당 창에서 계산됩니다. GLCM 기능이 if 문에서 조건을 충족하면이 슬라이딩 창 주위에 사각형을 그려야합니다. 그러나 사각형을 이미지의 올바른 위치에 있지 않은 다음 코드를 사용하여이 시도했다. 잘못된 위치에 직사각형을 그리는 코드를 넣었는지 또는 잘못된 좌표를 전달했는지 확신 할 수 없습니다. 누구든지 이걸 좀 도와 주실 래요?Matlab- 이미지에 사각형을 넣으십시오.
N2=8;
info2 = repmat(struct, ceil(size(Z, 1)/N2), ceil(size(Z, 2)/N2));
for row1 = 1:N2:size(Z, 1)%loop through each pixel in the 8x8 window
for col1 = 1:N2:size(Z, 2)
x = (row1 - 1)/N2 + 1;
y = (col1 - 1)/N2 + 1;
imgWindow2 = Z(row1:min(end,row1+N2-1), col1:min(end,col1+N2-1));
average2 = mean(imgWindow2(:));
window2(x,y).average=average2;
if average2>210
offsets0 = [0 1];
glcms = graycomatrix(imgWindow2,'Offset',offsets0);
stats = graycoprops(glcms,'all');
correlation=[stats.Correlation];
contrast=[stats.Contrast];
homogeneity=[stats.Homogeneity];
energy=[stats.Energy];
%if these conditions are met then this window contains an ROI
if (homogeneity > 0.9)
if (contrast<0.2)
if (energy>0.6)
%%show the ROI on the original image%%
Z1 = insertShape(Z, 'rectangle', [x y 32 32]);
figure(2);
imshow(Z1);
end
end
end
end % end if>210
end
end % window