| 46 | #include "okvis/cameras/RadialTangentialDistortion.hpp" |
| 47 | |
| 48 | TEST(Frame, functions) { |
| 49 | // instantiate all possible versions of test cameras |
| 50 | std::vector<std::shared_ptr<okvis::cameras::CameraBase> > cameras; |
| 51 | cameras.push_back(okvis::cameras::PinholeCamera<okvis::cameras::NoDistortion>::createTestObject()); |
| 52 | cameras.push_back(okvis::cameras::PinholeCamera<okvis::cameras::RadialTangentialDistortion>::createTestObject()); |
| 53 | cameras.push_back(okvis::cameras::PinholeCamera<okvis::cameras::EquidistantDistortion>::createTestObject()); |
| 54 | |
| 55 | for (size_t c = 0; c < cameras.size(); ++c) { |
| 56 | #ifdef __ARM_NEON__ |
| 57 | std::shared_ptr<cv::FeatureDetector> detector(new brisk::BriskFeatureDetector(34, 2)); |
| 58 | #else |
| 59 | std::shared_ptr<cv::FeatureDetector> detector( |
| 60 | new brisk::ScaleSpaceFeatureDetector<brisk::HarrisScoreCalculator>(34, 2, 800, 450)); |
| 61 | #endif |
| 62 | |
| 63 | std::shared_ptr<cv::DescriptorExtractor> extractor(new cv::BriskDescriptorExtractor(true, false)); |
| 64 | |
| 65 | // create a stupid random image |
| 66 | Eigen::Matrix<unsigned char, Eigen::Dynamic, Eigen::Dynamic> eigenImage(752, 480); |
| 67 | eigenImage.setRandom(); |
| 68 | cv::Mat image(480, 752, CV_8UC1, eigenImage.data()); |
| 69 | okvis::Frame frame(image, cameras.at(c), detector, extractor); |
| 70 | |
| 71 | // run |
| 72 | frame.detect(); |
| 73 | frame.describe(); |
| 74 | } |
| 75 | } |