0
현재 로봇이 천장 사진에 따라 위치를 찾을 수있는 프로젝트를 작성 중입니다. 카메라는 로봇에 장착되어 천장에 직접 마주보고 있습니다. 즉, 사진의 중앙이 항상 로봇의 위치로 간주됩니다. 첫 번째 사진을 사용하여 x, y 축의 0,0 위치와 방향을 설정 한 다음 그 사진과 다음 사진 (약간 다른 위치에서 찍음) 사이의 거리와 회전을 찾고 새 0을 설정합니다. x, y 축의 0 위치와 방향 등등.SIFT를 사용하여 두 장의 사진 사이의 거리 찾기
#include <opencv/cv.h>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/nonfree/nonfree.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
Mat img = imread("ceiling.jpg");
if (img.empty())
{
cout << "Cannot load an image!" << endl;
getchar();
return -1;
}
SIFT sift(10); //number of keypoints
vector<KeyPoint> key_points;
Mat descriptors, mascara;
Mat output_img;
sift(img,mascara,key_points,descriptors);
drawKeypoints(img, key_points, output_img);
namedWindow("Image");
imshow("Image", output_img);
imwrite("image.jpg", output_img);
waitKey(0);
return 0;
}
내가 그렇게 도움이 될 수있는 기능이 있나요 : 나는 (지금까지 단 하나의 이미지) 다음과 같은 알고리즘을 사용하여 사진의 특징을 찾는 건가요?