Helper to create a database file with images and descriptors.
| 818 | |
| 819 | // Helper to create a database file with images and descriptors. |
| 820 | std::shared_ptr<Database> CreateDatabaseWithRandomDescriptors( |
| 821 | const std::vector<int>& num_descriptors_per_image) { |
| 822 | auto database = Database::Open(kInMemorySqliteDatabasePath); |
| 823 | |
| 824 | const int num_images = num_descriptors_per_image.size(); |
| 825 | |
| 826 | Camera camera; |
| 827 | camera.camera_id = database->WriteCamera(camera); |
| 828 | |
| 829 | for (int i = 0; i < num_images; ++i) { |
| 830 | Image image; |
| 831 | image.SetName("image" + std::to_string(i)); |
| 832 | image.SetCameraId(camera.camera_id); |
| 833 | image.SetImageId(database->WriteImage(image)); |
| 834 | database->WriteDescriptors( |
| 835 | image.ImageId(), |
| 836 | FeatureDescriptors( |
| 837 | FeatureExtractorType::SIFT, |
| 838 | FeatureDescriptorsData::Random(num_descriptors_per_image[i], 128))); |
| 839 | } |
| 840 | |
| 841 | return database; |
| 842 | } |
| 843 | |
| 844 | TEST(LoadRandomDatabaseDescriptorsTest, LoadEmpty) { |
| 845 | auto database = Database::Open(kInMemorySqliteDatabasePath); |
no test coverage detected