Ignore:
Timestamp:
02/28/17 12:45:08 (7 years ago)
Author:
Sanahuja Guillaume
Message:

modif euler/lowpass

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/FlairFilter/src/EulerDerivative_impl.cpp

    r15 r147  
    3333                                           const cvmatrix *init_value) {
    3434  first_update = true;
     35 
     36  if (init_value != NULL) {
     37    // init output matrix of same size as init
     38    cvmatrix_descriptor *desc =new cvmatrix_descriptor(init_value->Rows(), init_value->Cols());
    3539
    36   if (init_value != NULL) {
    37     prev_value = (cvmatrix *)init_value;
     40    for (int i = 0; i < init_value->Rows(); i++) {
     41      for (int j = 0; j < init_value->Cols(); j++) {
     42        desc->SetElementName(i, j, init_value->Name(i, j));
     43      }
     44    }
     45    output = new cvmatrix(self, desc,init_value->GetDataType().GetElementDataType(), name);
     46    for (int i = 0; i < init_value->Rows(); i++) {
     47      for (int j = 0; j < init_value->Cols(); j++) {
     48        output->SetValue(i, j, init_value->Value(i,j));
     49      }
     50    }
    3851  } else {
    3952    // if NULL, assume dimension 1, and init=0
    4053    cvmatrix_descriptor *desc = new cvmatrix_descriptor(1, 1);
    4154    desc->SetElementName(0, 0, "output");
    42     prev_value = new cvmatrix(self, desc, floatType, name);
    43     prev_value->SetValue(0, 0, 0);
     55    output = new cvmatrix(self, desc, floatType, name);
     56    output->SetValue(0, 0, 0);
    4457  }
     58 
     59 
     60  cvmatrix_descriptor *desc = new cvmatrix_descriptor(output->Rows(), output->Cols());
     61  prev_value = new cvmatrix(self, desc, output->GetDataType().GetElementDataType(), name);
     62
    4563
    4664  // init UI
     
    4866  T = new DoubleSpinBox(reglages_groupbox->NewRow(), "period, 0 for auto:",
    4967                        " s", 0, 1, 0.01);
    50 
    51   // init output matrix of same size as init
    52   cvmatrix_descriptor *desc =
    53       new cvmatrix_descriptor(prev_value->Rows(), prev_value->Cols());
    54 
    55   for (int i = 0; i < prev_value->Rows(); i++) {
    56     for (int j = 0; j < prev_value->Cols(); j++) {
    57       desc->SetElementName(i, j, prev_value->Name(i, j));
    58     }
    59   }
    60 
    61   output = new cvmatrix(self, desc,
    62                         prev_value->GetDataType().GetElementDataType(), name);
    6368}
    6469
     
    7681    for (int i = 0; i < input->Rows(); i++) {
    7782      for (int j = 0; j < input->Cols(); j++) {
    78         output->SetValueNoMutex(i, j, prev_value->ValueNoMutex(i, j));
    7983        prev_value->SetValueNoMutex(i, j, input->ValueNoMutex(i, j));
    8084      }
Note: See TracChangeset for help on using the changeset viewer.