registration.h

Go to the documentation of this file.
00001 #ifndef __REGISTRATION_H
00002 #define __REGISTRATION_H
00003 
00004 #include "mimasconfig.h"
00005 
00006 #ifdef HAVE_LIBFFTW3
00007 
00008 #include "object.h"
00009 #include "image.h"
00010 #include "canny.h"
00011 
00012 namespace mimas{
00013 
00016 class reg_param
00017 {
00018  public:
00019   int shift_x;
00020   int shift_y;
00021   double angle;
00022   double scale;
00023   reg_param(int x = 0, int y = 0, double a = 0, double sc = 0)
00024     :shift_x(x),shift_y(y),angle(a),scale(sc){}
00025 };
00026 
00040 class registration_parameters : public object
00041 {
00042 private :
00043   double angle;
00044   double scale;
00045   int shiftx;
00046   int shifty;
00047  
00048  public:
00049   void setAngle(double a)     {angle = a;}
00050   void setScale(double s)     {scale = s;}
00051   void setShift(int x, int y) {shiftx = x; shifty = y;}
00052  
00053   double getAngle(){return angle;}
00054   double getScale(){return scale;}
00055   int getShiftx(){return shiftx;}
00056   int getShifty(){return shifty;}
00057 
00058   reg_param getRegParam(){return reg_param(shiftx, shifty, angle, scale);}
00059   
00060   void registering_images(image<int>& im1, image<int>& im2);
00061   void registering_images_shift_only(image<int>& im1, image<int>& im2);
00062  
00063   registration_parameters(void){angle = 0.0; scale = 1.0; shiftx = 0; shifty = 0;}
00064   virtual ~registration_parameters(void) {}
00065 };
00066 
00068 image<int> registration(image<int>& inimage, image<int>& inimage2, reg_param *result_p = NULL, bool with_scale_and_rotation = true);
00069 
00076 image<int> registration_with_canny(image<int>& inimage1, image<int>& inimage2,int lwThresh = 40, int highThresh = 110, float stdDev = 1.2
00077               ,reg_param *result_p = NULL, bool with_scale_and_rotation = true);
00078 
00079 }
00080 
00081 #endif
00082 
00083 #endif
00084 

[GNU/Linux] [Qt] [Mesa] [STL] [Lapack] [Boost] [Magick++] [Xalan-C and Xerces-C] [doxygen] [graphviz] [FFTW] [popt] [xine] [Gnuplot] [gnu-arch] [gcc] [gstreamer] [autoconf/automake/make] [freshmeat.net] [opensource.org] [sourceforge.net] [MMVL]
mimas 2.1 - Copyright Mon Oct 30 11:31:17 2006, Bala Amavasai, Stuart Meikle, Arul Selvan, Fabio Caparrelli, Jan Wedekind, Manuel Boissenin, ...