1

실내 로컬라이제이션 기능에 대한 내 논문 프로젝트에서 작업하고 있지만 객체 감지 및 추적과 관련하여 아무런 문제가 없습니다. 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 

`

여러분의 도움에 감사드립니다 :

이 코드입니다!

+1

Computer Vision Toolbox가 설치되고 라이센스가 필요합니까? – Daniel

답변

1

컴퓨터 비전 도구 상자를 확인하고 컴퓨터 비전 도구 상자가 설치되어 있는지 여부를 확인할 수 있습니다. SURF에는 도구 상자가 필요하기 때문입니다. 아마도 나는 Surf 대신 SIFT를 사용하도록 제안 할 수 있습니다. 구현하기 쉽습니다. 여기에 유용한 링크가 있습니다. 여기

This is a link where you can download the library

당신이 컴퓨터 비전 시스템 도구 상자는 당신이 할 수있는 설치되어 있다고 가정 설치된 도구 상자

+0

대단히 감사합니다 !!!! –

1

를 확인하기 위해 MATLAB의 튜토리얼 링크

This tutorial will help u more on how SIFT can be used

사용 ver 명령입니다 estimateGeometricTransform 함수 대신 vision.GeometricTransformEstimator 개체를 사용하십시오.

showMatchedFeatures의 경우 imshowpairplot을 사용하여 구현하기 쉽습니다.

2012a부터 도구 상자에 많은 멋진 기능이 추가되었으므로 업그레이드하는 것이 좋습니다.

관련 문제