From 95b636e02a0a97021a81fee3655c0ac5b7c33aea Mon Sep 17 00:00:00 2001 From: Scott Klum Date: Mon, 11 May 2015 11:09:19 -0400 Subject: [PATCH] Added parameter to rotate the grid --- openbr/plugins/metadata/grid.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+), 0 deletions(-) diff --git a/openbr/plugins/metadata/grid.cpp b/openbr/plugins/metadata/grid.cpp index a442945..b74740a 100644 --- a/openbr/plugins/metadata/grid.cpp +++ b/openbr/plugins/metadata/grid.cpp @@ -15,6 +15,9 @@ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ #include +#include + +using namespace cv; namespace br { @@ -30,9 +33,11 @@ class GridTransform : public UntrainableTransform Q_PROPERTY(int rows READ get_rows WRITE set_rows RESET reset_rows STORED false) Q_PROPERTY(int columns READ get_columns WRITE set_columns RESET reset_columns STORED false) Q_PROPERTY(float border READ get_border WRITE set_border RESET reset_border STORED false) + Q_PROPERTY(float angle READ get_angle WRITE set_angle RESET reset_angle STORED false) BR_PROPERTY(int, rows, 1) BR_PROPERTY(int, columns, 1) BR_PROPERTY(float, border, 0) + BR_PROPERTY(float, angle, 0) void project(const Template &src, Template &dst) const { @@ -44,6 +49,19 @@ class GridTransform : public UntrainableTransform for (float y=row_step/2+row_border; y 0) { + Mat rotMatrix = getRotationMatrix2D(Point2f(src.m().rows/2,src.m().cols/2),angle,1.0); + for (int i=0; i(0,0)+ + landmarks.at(i).y()*rotMatrix.at(0,1)+ + rotMatrix.at(0,2), + landmarks.at(i).x()*rotMatrix.at(1,0)+ + landmarks.at(i).y()*rotMatrix.at(1,1)+ + rotMatrix.at(1,2))); + } + } + dst = src; dst.file.setPoints(landmarks); } -- libgit2 0.21.4