Commit db4fcc5487b5a67929e2489f5b129f5d6c494ecf

Authored by Scott Klum
1 parent 2a807f12

Actually add TrimTransform

Showing 1 changed file with 47 additions and 0 deletions
openbr/plugins/imgproc/trim.cpp
  1 +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
  2 + * Copyright 2012 The MITRE Corporation *
  3 + * *
  4 + * Licensed under the Apache License, Version 2.0 (the "License"); *
  5 + * you may not use this file except in compliance with the License. *
  6 + * You may obtain a copy of the License at *
  7 + * *
  8 + * http://www.apache.org/licenses/LICENSE-2.0 *
  9 + * *
  10 + * Unless required by applicable law or agreed to in writing, software *
  11 + * distributed under the License is distributed on an "AS IS" BASIS, *
  12 + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. *
  13 + * See the License for the specific language governing permissions and *
  14 + * limitations under the License. *
  15 + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
1 16
  17 +#include <openbr/plugins/openbr_internal.h>
  18 +
  19 +using namespace cv;
  20 +
  21 +namespace br
  22 +{
  23 +
  24 +
  25 +/*!
  26 + * \ingroup transforms
  27 + * \brief Trims a percentage of width and height from the border of a matrix.
  28 + * \author Scott Klum \cite sklum
  29 + */
  30 +class TrimTransform : public UntrainableTransform
  31 +{
  32 + Q_OBJECT
  33 + Q_PROPERTY(float width READ get_width WRITE set_width RESET reset_width STORED false)
  34 + Q_PROPERTY(float height READ get_height WRITE set_height RESET reset_height STORED false)
  35 + BR_PROPERTY(float, width, .2)
  36 + BR_PROPERTY(float, height, .2)
  37 +
  38 + void project(const Template &src, Template &dst) const
  39 + {
  40 + dst = Mat(src, Rect(src.m().cols*width/2, src.m().rows*height/2, src.m().cols*(1-width), src.m().rows*(1-height)));
  41 + }
  42 +};
  43 +
  44 +BR_REGISTER(Transform, TrimTransform)
  45 +
  46 +} // namespace br
  47 +
  48 +#include "imgproc/trim.moc"