ImageProcessor.h

Go to the documentation of this file.
00001 // ImageProcessor.h: interface for the ImageProcessor class.
00002 //
00004 
00005 #if !defined(AFX_IMAGEPROCESSOR_H__D1E52321_0F55_11D6_BB61_004096383186__INCLUDED_)
00006 #define AFX_IMAGEPROCESSOR_H__D1E52321_0F55_11D6_BB61_004096383186__INCLUDED_
00007 
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011 
00012 #include "Image.h"
00013 
00014 #include "Resource.h"
00015 
00016 
00017 #include "CVIPtoolsInc.h"
00018 //#define WINAPI __stdcall
00019 #include "List.h"
00020 #include "Entity.h"
00021 
00022 
00023 
00024 class ImageProcessor  
00025 {
00026 public:
00027         void SingleRun(LPVOID pParam);
00028         bool Stop();
00029         HANDLE h_MyThread;
00030         bool Init(LPVOID param);
00031         ImageProcessor();
00032         virtual ~ImageProcessor();
00033     static DWORD WINAPI MyThread(LPVOID pParam);
00034 protected:
00035 
00036     //old conversion for logitech sdk
00037         Image *dib2cvip(CImage *dib);
00038         void cvip2dib(CImage *dib, Image *cvipImage);
00039 
00043     void vis2cvip(Image *cvipImage, CImage  *vis);
00044     void cvip2vis(CImage  *vis, Image *cvipImage);
00045 
00046         Image *MyAlgorithm(Image *cvipImage);
00047 
00048 
00049 };
00050 
00051 
00052 
00053 
00054 // algorithms which give back an Image will delete the image given as parameter
00055 // algorithms which don't give back an Image will preserve this Image
00056 
00057 
00067 void log_Image(Image *cvipimage, char *description = "");
00068 void view_logged_Image(CImage *visimg, int number);
00069 bool get_first_non_null_point(Image *inputImage, int *row,int *column);
00070 bool get_centroid_off_first_object(Image *inputImage, int *center_row, int *center_col);
00071 Image *get_component (Image *cvipImage, int color);
00072 Image *Robot_Position_and_Angle(Image *cvipImage);
00073 Image *Object_Position_and_Angle(Image *inputImage,int obj_color, int *obj_row, 
00074                                 int *obj_col,int *obj_angle);
00075 //bool new_object(Image *inputImage, int row,int col);
00076 bool find_labeled_object(Image *inputImage, int &row,int &col, int &label);
00077 bool robot_angle(Image *inputImage,int &center_row,int &center_col,int &angle);
00078 Image *find_color_objects(Image *inputimage, int color , List <Entity> *objectlist );
00079 void print_entities(List <Entity> *objectlist);
00080 void send_entities(List <Entity> *objectlist);
00081 
00082 
00083 #endif // !defined(AFX_IMAGEPROCESSOR_H__D1E52321_0F55_11D6_BB61_004096383186__INCLUDED_)

Generated on Wed Nov 29 01:18:48 2006 by  doxygen 1.4.6