- OpenCV 4 with Python Blueprints
- Dr. Menua Gevorgyan Arsen Mamikonyan Michael Beyeler
- 253字
- 2021-06-24 16:50:08
Obtaining feature descriptors with SURF
The process of extracting features from an image with OpenCV using SURF is also a single step. It is done by the compute method of our feature extractor. The latter accepts an image and the keypoints of the image as arguments:
key_query, desc_query = self.f_extractor.compute(img_query, key_query)
Here, desc_query is a NumPY ndarray with shape (num_keypoints, descriptor_size). You can see that each descriptor is a vector in an n-dimensional space (n-length array of numbers). Each vector describes the corresponding key point and provides some meaningful information about our complete image.
Hence, we have completed our feature extraction algorithm that had to provide meaningful information about our image in reduced dimensionality. It's up to the creator of the algorithm to decide what kind of information is contained in the descriptor vector, but at the very least the vectors should be such that they are closer to similar keypoints than for keypoints that appear different.
Our feature extraction algorithm also has a convenient method to combine the processes of feature detection and descriptor creation:
key_query, desc_query = self.f_extractor.detectAndCompute (img_query, None)
It returns both keypoints and descriptors in a single step and accepts a mask of an area of interest, which, in our case, is the complete image.
As we have extracted our features, the next step is to query and train images that contain similar features, which is accomplished by a feature matching algorithm. So, let's learn about feature matching in the next section.
- Boost程序庫完全開發指南:深入C++”準”標準庫(第5版)
- 前端跨界開發指南:JavaScript工具庫原理解析與實戰
- CentOS 7 Linux Server Cookbook(Second Edition)
- C語言程序設計立體化案例教程
- Drupal 8 Configuration Management
- Learn React with TypeScript 3
- 愛上micro:bit
- Procedural Content Generation for C++ Game Development
- Kotlin開發教程(全2冊)
- 深入淺出Go語言編程
- .NET 4.5 Parallel Extensions Cookbook
- Learning iOS Security
- Arduino機器人系統設計及開發
- Keil Cx51 V7.0單片機高級語言編程與μVision2應用實踐
- Java 7 Concurrency Cookbook