00001 /******************************************************************************* 00002 * ObjectLearningControl.h 00003 * 00004 * (C) 2008 AG Aktives Sehen <agas@uni-koblenz.de> 00005 * Universitaet Koblenz-Landau 00006 * 00007 * §Author: SG; 00008 * 00009 *******************************************************************************/ 00010 00011 00012 00013 #ifndef LEARNING_H 00014 #define LEARNING_H 00015 00016 #include <ros/ros.h> 00017 00018 #include <QObject> 00019 #include <QWidget> 00020 #include <QRadioButton> 00021 00022 #include "Widgets/GLImageWidget/GLImageWidget.h" 00023 00024 //#include "../../Workers/Puma2/ImageWriter.h" // TODO 00025 #include "Workers/Puma2/ColorImageRGB8.h" 00026 #include "Workers/Puma2/GrayLevelImage8.h" 00027 #include "Workers/Puma2/ColorToGrayOperator.h" 00028 #include "Workers/Puma2/ColorImageYUV8.h" 00029 #include "Workers/ImageSources/ImageSources.h" 00030 #include "Workers/Math/Point2D.h" 00031 00032 00033 class QPushButton; 00034 class QListWidget; 00035 class QLineEdit; 00036 class QSlider; 00037 class QLabel; 00038 00047 class ObjectLearningControl : public QWidget { 00048 00049 Q_OBJECT 00050 00051 public: 00057 ObjectLearningControl(ros::NodeHandle *nh, QWidget *parent = 0); 00061 ~ObjectLearningControl(); 00062 00063 public slots: 00064 00065 void setThreshold( int ); 00066 void setOpenRadius( int ); 00067 void setBorderSize(int value); 00068 void setIsolateLargestSegment( int state ); 00069 00071 void grabBackgroundImage(); 00073 void grabForegroundImage(); 00074 00076 void loadBackgroundImage(); 00078 void loadForegroundImage(); 00079 00080 void setCameraId( ImageSources::SourceId cameraId ); 00081 00082 signals: 00083 00084 void imageSaved( QString fileName ); 00085 00086 private: 00087 00088 ros::Publisher m_ORLearnCommandPublisher; 00089 00090 QString m_LastImageFolder; 00091 00092 QPushButton* grabBackgroundButton; 00093 QPushButton* grabForegroundButton; 00094 00095 QPushButton* loadBackgroundButton; 00096 QPushButton* loadForegroundButton; 00097 00098 ImageSources::SourceId m_CameraId; 00099 00100 //path for open dialog 00101 QString m_LastOpenPath; 00102 00103 // set to true after object is constructed, used to avoid publishing on ros topics in slots too early 00104 bool m_Ready; 00105 }; 00106 00107 #endif