template<class ArrayT>
Definition at line 17 of file MatConcatenate.h. References ILOG_ERROR, ILOG_VAR, MatNrCol(), MatNrRow(), and Impala::Core::Vector::SetPart(). Referenced by Impala::Core::Feature::CalculateFISTDescriptors(). 00018 { 00019 ILOG_VAR(Core.Matrix.MatConcatenateHorizontal); 00020 int rows = MatNrRow(matrices[0]); 00021 int cols = 0; 00022 for(int i = 0; i < matrices.size(); i++) 00023 { 00024 cols += MatNrCol(matrices[i]); 00025 if(rows != MatNrRow(matrices[i])) 00026 ILOG_ERROR("nonconformant MatConcatenateHorizontal operands."); 00027 } 00028 00029 ArrayT* res = MatCreate<ArrayT>(rows, cols); 00030 int startCol = 0; 00031 for(int i = 0; i < matrices.size(); i++) 00032 { 00033 SetPart(res, matrices[i], 0, 0, MatNrCol(matrices[i]), MatNrRow(matrices[i]), startCol, 0); 00034 startCol += MatNrCol(matrices[i]); 00035 } 00036 return res; 00037 }
Here is the call graph for this function:
|