0
我目前正在編寫一個項目,該項目將允許機器人根據天花板的照片找到它的位置。攝像機安裝在機器人上並直接面向天花板(意味着照片的中心始終被認爲是機器人的位置)。這個想法是使用第一張照片建立x,y軸的0,0位置和方向,然後找到該照片和下一張照片之間的距離和旋轉(將在稍微不同的位置拍攝)並建立新的0, x的位置和方向,y軸等。使用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;
}
有沒有可能幫我做的任何功能:我使用(迄今爲止只有一個圖像)以下算法發現照片上的特點是什麼?