From 1e61fbe144ca46c15f4245971a130c87a674165f Mon Sep 17 00:00:00 2001 From: Scott Klum Date: Mon, 5 Oct 2015 17:13:07 -0400 Subject: [PATCH] Generalized keytorect --- openbr/plugins/metadata/keytolandmark.cpp | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ openbr/plugins/metadata/keytorect.cpp | 51 --------------------------------------------------- 2 files changed, 58 insertions(+), 51 deletions(-) create mode 100644 openbr/plugins/metadata/keytolandmark.cpp delete mode 100644 openbr/plugins/metadata/keytorect.cpp diff --git a/openbr/plugins/metadata/keytolandmark.cpp b/openbr/plugins/metadata/keytolandmark.cpp new file mode 100644 index 0000000..44556a7 --- /dev/null +++ b/openbr/plugins/metadata/keytolandmark.cpp @@ -0,0 +1,58 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright 2012 The MITRE Corporation * + * * + * Licensed under the Apache License, Version 2.0 (the "License"); * + * you may not use this file except in compliance with the License. * + * You may obtain a copy of the License at * + * * + * http://www.apache.org/licenses/LICENSE-2.0 * + * * + * Unless required by applicable law or agreed to in writing, software * + * distributed under the License is distributed on an "AS IS" BASIS, * + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * + * See the License for the specific language governing permissions and * + * limitations under the License. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#include + +namespace br +{ + +/*! + * \ingroup transforms + * \brief Convert values of key_X, key_Y, key_Width, key_Height to a rect. + * \author Jordan Cheney \cite JordanCheney + */ +class KeyToLandmarkTransform : public UntrainableMetadataTransform +{ + Q_OBJECT + Q_PROPERTY(QString key READ get_key WRITE set_key RESET reset_key STORED false) + Q_PROPERTY(bool point READ get_point WRITE set_point RESET reset_point STORED false) + BR_PROPERTY(QString, key, "") + BR_PROPERTY(bool, point, false) + + void projectMetadata(const File &src, File &dst) const + { + dst = src; + + if (point) { + if (src.contains(QStringList() << key + "_X" << key + "_Y")) + dst.appendPoint(QPointF(src.get(key + "_X"), + src.get(key + "_Y"))); + } else { + if (src.contains(QStringList() << key + "_X" << key + "_Y" << key + "_Width" << key + "_Height")) + dst.appendRect(QRectF(src.get(key + "_X"), + src.get(key + "_Y"), + src.get(key + "_Width"), + src.get(key + "_Height"))); + } + + } +}; + +BR_REGISTER(Transform, KeyToLandmarkTransform) + +} // namespace br + +#include "metadata/keytolandmark.moc" diff --git a/openbr/plugins/metadata/keytorect.cpp b/openbr/plugins/metadata/keytorect.cpp deleted file mode 100644 index c36ae4d..0000000 --- a/openbr/plugins/metadata/keytorect.cpp +++ /dev/null @@ -1,51 +0,0 @@ -/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * - * Copyright 2012 The MITRE Corporation * - * * - * Licensed under the Apache License, Version 2.0 (the "License"); * - * you may not use this file except in compliance with the License. * - * You may obtain a copy of the License at * - * * - * http://www.apache.org/licenses/LICENSE-2.0 * - * * - * Unless required by applicable law or agreed to in writing, software * - * distributed under the License is distributed on an "AS IS" BASIS, * - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * - * See the License for the specific language governing permissions and * - * limitations under the License. * - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ - -#include - -namespace br -{ - -/*! - * \ingroup transforms - * \brief Convert values of key_X, key_Y, key_Width, key_Height to a rect. - * \author Jordan Cheney \cite JordanCheney - */ -class KeyToRectTransform : public UntrainableMetadataTransform -{ - Q_OBJECT - Q_PROPERTY(QString key READ get_key WRITE set_key RESET reset_key STORED false) - BR_PROPERTY(QString, key, "") - - void projectMetadata(const File &src, File &dst) const - { - dst = src; - - if (src.contains(QStringList() << key + "_X" << key + "_Y" << key + "_Width" << key + "_Height")) - dst.appendRect(QRectF(src.get(key + "_X"), - src.get(key + "_Y"), - src.get(key + "_Width"), - src.get(key + "_Height"))); - - } - -}; - -BR_REGISTER(Transform, KeyToRectTransform) - -} // namespace br - -#include "metadata/keytorect.moc" -- libgit2 0.21.4