Commit 8afb837cf7dcd0e8f96fef0efd8641b443c7fef0
1 parent
5c7fd6bf
Added DownsampleTransform
Downsample the rows and columns of a matrix.
Showing
1 changed file
with
7 additions
and
2 deletions
sdk/plugins/reduce.cpp
| ... | ... | @@ -122,6 +122,7 @@ BR_REGISTER(Transform, StatTransform) |
| 122 | 122 | /*! |
| 123 | 123 | * \ingroup transforms |
| 124 | 124 | * \brief Downsample the rows and columns of a matrix. |
| 125 | + * \author Lacey Best-Rowden \cite lbestrowden | |
| 125 | 126 | */ |
| 126 | 127 | class DownsampleTransform : public UntrainableTransform |
| 127 | 128 | { |
| ... | ... | @@ -132,8 +133,12 @@ class DownsampleTransform : public UntrainableTransform |
| 132 | 133 | void project(const Template &src, Template &dst) const |
| 133 | 134 | { |
| 134 | 135 | Mat input = src.m(); |
| 135 | - Mat output; | |
| 136 | - (void) input; // TODO: write me! | |
| 136 | + Mat output(ceil((double)input.rows/k), ceil((double)input.cols/k), CV_32FC1); | |
| 137 | + for (int r=0; r<output.rows; r++) { | |
| 138 | + for (int c=0; c<output.cols; c++) { | |
| 139 | + output.at<float>(r,c) = input.at<float>(r*k,c*k); | |
| 140 | + } | |
| 141 | + } | |
| 137 | 142 | dst.m() = output; |
| 138 | 143 | } |
| 139 | 144 | }; | ... | ... |