VirtualColorCam.h
Go to the documentation of this file.
00001 /****************************************************************
00002 *
00003 * Copyright (c) 2010
00004 *
00005 * Fraunhofer Institute for Manufacturing Engineering
00006 * and Automation (IPA)
00007 *
00008 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00009 *
00010 * Project name: care-o-bot
00011 * ROS stack name: cob_driver
00012 * ROS package name: cob_camera_sensors
00013 * Description: Virtual color camera representation.
00014 *
00015 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00016 *
00017 * Author: Jan Fischer, email:jan.fischer@ipa.fhg.de
00018 * Supervised by: Jan Fischer, email:jan.fischer@ipa.fhg.de
00019 *
00020 * Date of creation: Jan 2009
00021 * ToDo:
00022 *
00023 * +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
00024 *
00025 * Redistribution and use in source and binary forms, with or without
00026 * modification, are permitted provided that the following conditions are met:
00027 *
00028 * * Redistributions of source code must retain the above copyright
00029 * notice, this list of conditions and the following disclaimer.
00030 * * Redistributions in binary form must reproduce the above copyright
00031 * notice, this list of conditions and the following disclaimer in the
00032 * documentation and/or other materials provided with the distribution.
00033 * * Neither the name of the Fraunhofer Institute for Manufacturing
00034 * Engineering and Automation (IPA) nor the names of its
00035 * contributors may be used to endorse or promote products derived from
00036 * this software without specific prior written permission.
00037 *
00038 * This program is free software: you can redistribute it and/or modify
00039 * it under the terms of the GNU Lesser General Public License LGPL as
00040 * published by the Free Software Foundation, either version 3 of the
00041 * License, or (at your option) any later version.
00042 *
00043 * This program is distributed in the hope that it will be useful,
00044 * but WITHOUT ANY WARRANTY; without even the implied warranty of
00045 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00046 * GNU Lesser General Public License LGPL for more details.
00047 *
00048 * You should have received a copy of the GNU Lesser General Public
00049 * License LGPL along with this program.
00050 * If not, see <http://www.gnu.org/licenses/>.
00051 *
00052 ****************************************************************/
00053  
00054 
00059 
00060 #ifndef __IPA_VIRTUALCOLORCAM_H__
00061 #define __IPA_VIRTUALCOLORCAM_H__
00062 
00063 #include "StdAfx.h"
00064 #ifdef __LINUX__
00065         #include "cob_camera_sensors/AbstractColorCamera.h"
00066 #else
00067         #include "cob_driver/cob_camera_sensors/common/include/cob_camera_sensors/AbstractColorCamera.h"
00068 #endif
00069 
00070 #include <cstdlib>
00071 #include <boost/filesystem.hpp>
00072 
00073 namespace ipa_CameraSensors {
00078 class __DLL_LIBCAMERASENSORS__ VirtualColorCam : public AbstractColorCamera
00079 {
00080         private:
00081                 int m_ImageWidth;
00082                 int m_ImageHeight;
00083 
00084                 std::string m_CameraDataDirectory; 
00085                 int m_CameraIndex; 
00086 
00087                 std::vector<std::string> m_ColorImageFileNames;
00088 
00089                 unsigned int m_ImageCounter; 
00090 
00096                 unsigned long LoadParameters(const char* filename, int cameraIndex);
00097                 
00098                 unsigned long SetParameters(){return RET_OK;};
00099 
00100         public:
00101 
00102                 VirtualColorCam ();
00103                 ~VirtualColorCam ();
00104 
00105                 //*******************************************************************************
00106                 // AbstractColorCamera interface implementation
00107                 //*******************************************************************************
00108 
00109                 unsigned long Init(std::string directory, int cameraIndex = 0);
00110 
00111                 unsigned long Open();
00112                 unsigned long Close();
00113 
00114                 unsigned long GetColorImage(char* colorImageData, bool getLatestFrame);
00115                 unsigned long GetColorImage(cv::Mat* image, bool getLatestFrame);
00116 
00117                 unsigned long SaveParameters(const char* filename);             //speichert die Parameter in das File
00118                 unsigned long SetProperty(t_cameraProperty* cameraProperty);
00119                 unsigned long SetPropertyDefaults();
00120                 unsigned long GetProperty(t_cameraProperty* cameraProperty);
00121                 unsigned long PrintCameraInformation();
00122                 unsigned long TestCamera(const char* filename);
00123 
00124                 //*******************************************************************************
00125                 // Camera specific functions
00126                 //*******************************************************************************
00127                 
00130                 int GetNumberOfImages();
00131 
00136                 unsigned long SetPathToImages(std::string path);
00137 
00138 };
00139 
00142 __DLL_LIBCAMERASENSORS__ AbstractColorCameraPtr CreateColorCamera_VirtualCam();
00143 
00144 } // end namespace ipa_CameraSensors
00145 
00146 #endif //__IPA_VIRTUALCOLORCAM_H__
00147 
00148 


cob_camera_sensors
Author(s): Jan Fischer
autogenerated on Sun Oct 5 2014 23:07:54