You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					39 lines
				
				833 B
			
		
		
			
		
	
	
					39 lines
				
				833 B
			| 
								 
											7 years ago
										 
									 | 
							
								#ifndef EXTRACTOR_H
							 | 
						||
| 
								 | 
							
								#define EXTRACTOR_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								extern "C" {
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#include <stdint.h>
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define ORBD_KEYPOINTS 3000
							 | 
						||
| 
								 | 
							
								#define ORBD_DESCRIPTOR_LENGTH 32
							 | 
						||
| 
								 | 
							
								#define ORBD_HEIGHT 874
							 | 
						||
| 
								 | 
							
								#define ORBD_WIDTH 1164
							 | 
						||
| 
								 | 
							
								#define ORBD_FOCAL 910
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// matches OrbFeatures from log.capnp
							 | 
						||
| 
								 | 
							
								struct orb_features {
							 | 
						||
| 
								 | 
							
								  // align this
							 | 
						||
| 
								 | 
							
								  uint16_t n_corners;
							 | 
						||
| 
								 | 
							
								  uint16_t xy[ORBD_KEYPOINTS][2];
							 | 
						||
| 
								 | 
							
								  uint8_t octave[ORBD_KEYPOINTS];
							 | 
						||
| 
								 | 
							
								  uint8_t des[ORBD_KEYPOINTS][ORBD_DESCRIPTOR_LENGTH];
							 | 
						||
| 
								 | 
							
								  int16_t matches[ORBD_KEYPOINTS];
							 | 
						||
| 
								 | 
							
								};
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// forward declare this
							 | 
						||
| 
								 | 
							
								struct pyramid;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								// manage the pyramids in extractor.c
							 | 
						||
| 
								 | 
							
								void init_gpyrs();
							 | 
						||
| 
								 | 
							
								int extract_and_match_gpyrs(const uint8_t *img, struct orb_features *);
							 | 
						||
| 
								 | 
							
								int extract_and_match(const uint8_t *img, struct pyramid *pyrs, struct pyramid *prev_pyrs, struct orb_features *);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifdef __cplusplus
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								#endif
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif // EXTRACTOR_H
							 |