실내 로컬라이제이션 기능에 대한 내 논문 프로젝트에서 작업하고 있지만 객체 감지 및 추적과 관련하여 아무런 문제가 없습니다. MATLAB 2012a를 사용하고 있지만 프로그램의 이전 버전 때문에 코드의 일부 기능이 작동하지 않습니다. 조언 좀 해 주시겠습니까? 특히 나는 showMatchedFeatures 및 estimateGeometricTransform의 기능에 문제가 있습니다. 이것은 다음과 같은 오류 메시지입니다.Matlab 2012a 객체 감지 및 추적이 작동하지 않습니다.
'SURFPoints'유형의 입력 인수에 대해 정의되지 않은 함수 'showMatchedFeatures'.
어떻게하면 새로운 버전의 Matlab을 다운로드하지 않고도 문제를 해결할 수 있습니까?
`
boxImage = imread('img_box.png');
sceneImage = imread('img_desk.png');
I= rgb2gray (boxImage);
K= rgb2gray (sceneImage);
boxPoints = detectSURFFeatures(I)
scenePoints = detectSURFFeatures(K);
figure; imshow(I);
title('100 Strongest Feature Points from Box Image');
hold on;
plot(boxPoints.selectStrongest(100));
figure; imshow(K);
title('300 Strongest Feature Points from Scene Image');
hold on;
plot(scenePoints.selectStrongest(300));
[boxFeatures, boxPoints] = extractFeatures(I, boxPoints);
[sceneFeatures, scenePoints] = extractFeatures(K, scenePoints);
boxPairs = matchFeatures(boxFeatures, sceneFeatures);
matchedBoxPoints = boxPoints(boxPairs(:, 1), :);
matchedScenePoints = scenePoints(boxPairs(:, 2), :);
figure;
showMatchedFeatures(boxImage, sceneImage, matchedBoxPoints,matchedScenePoints, 'montage');
title('Putatively Matched Points (Including Outliers)');
[tform, inlierBoxPoints, inlierScenePoints] = ...
estimateGeometricTransform(matchedBoxPoints, matchedScenePoints, 'affine');
boxPolygon = [1, 1;... % top-left
size(boxImage, 2), 1;... % top-right
size(boxImage, 2), size(boxImage, 1);... % bottom-right
1, size(boxImage, 1);... % bottom-left
1, 1]; % top-left again to close the polygon
newBoxPolygon = transformPointsForward(tform, boxPolygon);
figure; imshow(sceneImage);
hold on;
line(newBoxPolygon(:, 1), newBoxPolygon(:, 2), 'Color', 'y');
title('Detected Box');
end
`
여러분의 도움에 감사드립니다 :
이 코드입니다!
Computer Vision Toolbox가 설치되고 라이센스가 필요합니까? – Daniel