101 virtual void saveSettings(QSettings* settings)
override;
110 return "VisionX.FeatureLearning";
118 virtual void onInitImageProcessor()
override;
123 virtual void onConnectImageProcessor()
override;
128 virtual void onDisconnectImageProcessor()
override;
133 virtual void onExitImageProcessor()
override;
138 virtual void process()
override;
143 void addPolygonPoint(
int,
float x,
float y);
144 void connectButtonClicked(
bool toggled);
145 void disconnectButtonClicked(
bool toggled);
146 void loadFeaturesButtonClicked(
bool toggled);
147 void saveFeaturesButtonClicked(
bool toggled);
148 void pausePlayButtonClicked(
bool toggled);
149 void addFeaturesButtonClicked(
bool toggled);
150 void clearFeaturesButtonClicked(
bool toggled);
152 void thresholdChanged(
double threshold);
153 void maxFeaturesChanged(
int maxFeatures);
154 void minDistanceChanged(
double minDistance);
155 void levelChanged(
int level);
165 Ui::FeatureLearningWidget widget;
166 QWidget* widgetPointer;
168 void loadFeatureSet(QString filePath);
169 void saveFeatureSet(QString filePath,
float w,
float h,
float d);
170 void updateFeatures();
172 void clearFeatures();
174 void updateSelection();
176 void connectToProvider();
177 void disconnectFromProvider();
179 void updatePausePlayButtonText();
180 void updateImageMonitorUI();
181 void updateFeaturesUI();
183 static CFloatMatrix* createCuboid(
float w,
float h,
float d);
184 static void addRectangle(CFloatMatrix*
object,
201 static void addTriangle(CFloatMatrix*
object,
218 visionx::ImageProviderInterfacePrx imageProviderPrx;
224 int numSelectedPoints;
226 CByteImage** cameraImages;
227 CByteImage* visualizationImage;
228 CByteImage* grayImage;
234 std::string imageProviderName;
236 CHarrisSIFTFeatureCalculator* featureCalculator;
237 CTexturedFeatureSet* objectFeatureSet;
238 CTexturedFeatureSet* viewFeatureSet;
240 bool undistortImages;
241 std::recursive_mutex imageMutex;
244 Eigen::ArrayX2f points;
250 IceUtil::Time timeProvided;
252 QSettings mySettings;
254 std::mutex featureCalculatorMutex;