Commit 3d39fe7bf07f103138c54489e43ea8f2112617ac
1 parent
2eaf99ee
remove gradient
Showing
2 changed files
with
0 additions
and
123 deletions
openbr/plugins/imgproc/gradient.cpp deleted
| 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 | - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | |
| 16 | - | |
| 17 | -#include <opencv2/imgproc/imgproc.hpp> | |
| 18 | - | |
| 19 | -#include <openbr/plugins/openbr_internal.h> | |
| 20 | - | |
| 21 | -using namespace cv; | |
| 22 | - | |
| 23 | -namespace br | |
| 24 | -{ | |
| 25 | - | |
| 26 | -/*! | |
| 27 | - * \ingroup transforms | |
| 28 | - * \brief Computes magnitude and/or angle of image. | |
| 29 | - * \author Josh Klontz \cite jklontz | |
| 30 | - */ | |
| 31 | -class GradientTransform : public UntrainableTransform | |
| 32 | -{ | |
| 33 | - Q_OBJECT | |
| 34 | - Q_ENUMS(Channel) | |
| 35 | - Q_PROPERTY(Channel channel READ get_channel WRITE set_channel RESET reset_channel STORED false) | |
| 36 | - | |
| 37 | -public: | |
| 38 | - enum Channel { Magnitude, Angle, MagnitudeAndAngle }; | |
| 39 | - | |
| 40 | -private: | |
| 41 | - BR_PROPERTY(Channel, channel, Angle) | |
| 42 | - | |
| 43 | - void project(const Template &src, Template &dst) const | |
| 44 | - { | |
| 45 | - Mat dx, dy, magnitude, angle; | |
| 46 | - Sobel(src, dx, CV_32F, 1, 0, FILTER_SCHARR); | |
| 47 | - Sobel(src, dy, CV_32F, 0, 1, FILTER_SCHARR); | |
| 48 | - cartToPolar(dx, dy, magnitude, angle, true); | |
| 49 | - std::vector<Mat> mv; | |
| 50 | - if ((channel == Magnitude) || (channel == MagnitudeAndAngle)) { | |
| 51 | - const float theoreticalMaxMagnitude = sqrt(2*pow(float(2*(3+10+3)*255), 2.f)); | |
| 52 | - mv.push_back(magnitude / theoreticalMaxMagnitude); | |
| 53 | - } | |
| 54 | - if ((channel == Angle) || (channel == MagnitudeAndAngle)) | |
| 55 | - mv.push_back(angle); | |
| 56 | - Mat result; | |
| 57 | - merge(mv, result); | |
| 58 | - dst.append(result); | |
| 59 | - } | |
| 60 | -}; | |
| 61 | - | |
| 62 | -BR_REGISTER(Transform, GradientTransform) | |
| 63 | - | |
| 64 | -} // namespace br | |
| 65 | - | |
| 66 | -#include "imgproc/gradient.moc" |
openbr/plugins/imgproc/gradientmask.cpp deleted
| 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 | - * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ | |
| 16 | - | |
| 17 | -#include <openbr/plugins/openbr_internal.h> | |
| 18 | - | |
| 19 | -using namespace cv; | |
| 20 | - | |
| 21 | -namespace br | |
| 22 | -{ | |
| 23 | - | |
| 24 | -/*! | |
| 25 | - * \ingroup transforms | |
| 26 | - * \brief Masks image according to pixel change. | |
| 27 | - * \author Josh Klontz \cite jklontz | |
| 28 | - */ | |
| 29 | -class GradientMaskTransform : public UntrainableTransform | |
| 30 | -{ | |
| 31 | - Q_OBJECT | |
| 32 | - Q_PROPERTY(int delta READ get_delta WRITE set_delta RESET reset_delta STORED false) | |
| 33 | - BR_PROPERTY(int, delta, 1) | |
| 34 | - | |
| 35 | - void project(const Template &src, Template &dst) const | |
| 36 | - { | |
| 37 | - const Mat &m = src.m(); | |
| 38 | - if (m.type() != CV_8UC1) qFatal("Requires 8UC1 matrices."); | |
| 39 | - Mat n = Mat(m.rows, m.cols, CV_8UC1); | |
| 40 | - n.setTo(255); | |
| 41 | - for (int i=0; i<m.rows; i++) { | |
| 42 | - for (int j=0; j<m.cols; j++) { | |
| 43 | - if ((i>0) && (abs(m.at<quint8>(i-1,j)-m.at<quint8>(i,j)) > delta)) { n.at<quint8>(i,j) = 0; continue; } | |
| 44 | - if ((j+1<m.cols) && (abs(m.at<quint8>(i,j+1)-m.at<quint8>(i,j)) > delta)) { n.at<quint8>(i,j) = 0; continue; } | |
| 45 | - if ((i+1<m.rows) && (abs(m.at<quint8>(i+1,j)-m.at<quint8>(i,j)) > delta)) { n.at<quint8>(i,j) = 0; continue; } | |
| 46 | - if ((j>0) && (abs(m.at<quint8>(i,j-1)-m.at<quint8>(i,j)) > delta)) { n.at<quint8>(i,j) = 0; continue; } | |
| 47 | - } | |
| 48 | - } | |
| 49 | - dst = n; | |
| 50 | - } | |
| 51 | -}; | |
| 52 | - | |
| 53 | -BR_REGISTER(Transform, GradientMaskTransform) | |
| 54 | - | |
| 55 | -} // namespace br | |
| 56 | - | |
| 57 | -#include "imgproc/gradientmask.moc" |