def __analyseReferenceMarker(self):
     '''
     Analyses reference markers
     '''
     path = str( self._gui.getObj("txtReferenceMarkerPath").text() )
     self.__referenceMarker = getReferenceMarker(path)
     mrLogger.logInfo("Analysed " + str( len(self.__referenceMarker) ) + " reference marker.")
     self._gui.status( "Analysed " + str( len(self.__referenceMarker) ) + " reference markers" )
 def __analyseReferenceMarker(self):
     '''
     Analyses reference markers
     '''
     path = str(self._gui.getObj("txtReferenceMarkerPath").text())
     self.__referenceMarker = getReferenceMarker(path)
     mrLogger.logInfo("Analysed " + str(len(self.__referenceMarker)) +
                      " reference marker.")
     self._gui.status("Analysed " + str(len(self.__referenceMarker)) +
                      " reference markers")
Exemple #3
0
 def __init__(self, gui=None, imageGrabber=None, config=None):
     '''
     Constructor
     '''        
     super(Distortion, self).__init__(gui=gui, imageGrabber=imageGrabber, config=config)
     self.__calibrated = False
     self.__calibrating = False
     
     if gui != None:
         self.__initGui()
         
     if self._config != None:
         cfgFile = self._config.getConfigValue("CONFIGURATION", "cfgCalibration")
         if cfgFile != None and self.__loadConfigData(cfgFile):
             self._gui.status( "Loaded distortion config." )
             mrLogger.logInfo( "Loaded distortion config file " + str(cfgFile) )
 def __init__(self, gui=None, imageGrabber=None, config=None):
     '''
     Constructor
     '''        
     super(Transformation, self).__init__(gui=gui, imageGrabber=imageGrabber, config=config)
     self.__calibrated = False
     self.__calibrating = False
     self.__basisMatrix = array([[1,0],[0,1]])
     self.__offset = array([0,0])
     
     if self._gui != None:
         self.__initGui()
         
     if self._config != None:
         cfgFile = self._config.getConfigValue("CONFIGURATION", "cfgTransformation")
         if cfgFile != None and self.__loadConfigData(cfgFile):
             self._gui.status( "Loaded transformtaion config." )
             mrLogger.logInfo( "Loaded transformation config file " + str(cfgFile) )
Exemple #5
0
    def __init__(self, gui=None, imageGrabber=None, config=None):
        '''
        Constructor
        '''
        super(Transformation, self).__init__(gui=gui,
                                             imageGrabber=imageGrabber,
                                             config=config)
        self.__calibrated = False
        self.__calibrating = False
        self.__basisMatrix = array([[1, 0], [0, 1]])
        self.__offset = array([0, 0])

        if self._gui != None:
            self.__initGui()

        if self._config != None:
            cfgFile = self._config.getConfigValue("CONFIGURATION",
                                                  "cfgTransformation")
            if cfgFile != None and self.__loadConfigData(cfgFile):
                self._gui.status("Loaded transformtaion config.")
                mrLogger.logInfo("Loaded transformation config file " +
                                 str(cfgFile))
    def __processImage(self):
        '''
        processes image recognision
        '''       
        mrLogger.logInfo( "Main loop started in mode " + str(self.__mode) )
        
        while self.__mode != mrVisionData.VISION_MODE_TERMINATE:
            #print "mode:", self.__mode
            # get image
            img = self._imageGrabber.getImage()
            
            # sets image to distortion module
            self.__distortion.setImg(img)
            
            # undistort and crop image 
            if self.__distortion.isCalibrated():
                img = self.__distortion.undistortImage(img)
                img = self.__distortion.cropImage(img)
                
            # sets image to transformation and recognition module
            self.__transformation.setImg(img)
            self.__recognition.setImg(img)
           
            
            
            # STREAM IMAGES
            if self.__mode in mrVisionData.VISION_STREAMING_MODES:
                if self._imageGrabber.isActive():
                    # recognize objects
                    self.__recognition.recognize()
                    
                    # get bots and rectangles
                    try:
                        obj = {'bots': self.__recognition.getBots(),
                           'rectangles': self.__recognition.getRectangles()}
                    except:
                        pass
                    
                    # transformate objects
                    self.__transformation.transformObjects( obj['bots'] )
                    
                    # send vision objects
                    self.__sendVisionData(obj)
            
            # CALIBRATE CHESSBOARD
            elif self.__mode == mrVisionData.VISION_MODE_CALIBRATE_DIST:
                if not self.__distortion.isCalibrating():                              
                    self.__distortion.calibrateCamera()                   
                    while self.__distortion.isCalibrating():
                        pass
                    
                self.__setMode(mrVisionData.VISION_MODE_NONE)
            
            # CALIBRATE TRANSFORMATIONEN
            elif self.__mode == mrVisionData.VISION_MODE_CALIBRATE_TRANSF:
                # To-DO: calibration of transformation
                if not self.__transformation.isCalibrating():
                    self.__transformation.startCalibration()
                while self.__transformation.isCalibrating():
                    pass
                
                self.__setMode(mrVisionData.VISION_MODE_NONE)
                
#             sleep(0.01)
            
        # exit program
        mrLogger.logInfo( "Main loop stopped" )
        self.__socketManager.stopSocket()