mirror of
https://github.com/dgirardeau/q3DMASC.git
synced 2026-08-29 08:34:48 +08:00
60 lines
2.0 KiB
C++
60 lines
2.0 KiB
C++
|
|
#pragma once
|
||
|
|
|
||
|
|
//##########################################################################
|
||
|
|
//# #
|
||
|
|
//# CLOUDCOMPARE PLUGIN: q3DMASC #
|
||
|
|
//# #
|
||
|
|
//# This program is free software; you can redistribute it and/or modify #
|
||
|
|
//# it under the terms of the GNU General Public License as published by #
|
||
|
|
//# the Free Software Foundation; version 2 or later of the License. #
|
||
|
|
//# #
|
||
|
|
//# This program is distributed in the hope that it will be useful, #
|
||
|
|
//# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||
|
|
//# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||
|
|
//# GNU General Public License for more details. #
|
||
|
|
//# #
|
||
|
|
//# COPYRIGHT: Dimitri Lague / CNRS / UEB #
|
||
|
|
//# #
|
||
|
|
//##########################################################################
|
||
|
|
|
||
|
|
//Local
|
||
|
|
#include "Parameters.h"
|
||
|
|
#include "FeaturesInterface.h"
|
||
|
|
|
||
|
|
//Qt
|
||
|
|
#include <QString>
|
||
|
|
|
||
|
|
//OpenCV
|
||
|
|
#include <opencv2/ml.hpp>
|
||
|
|
|
||
|
|
class QWidget;
|
||
|
|
|
||
|
|
//! 3DMASC classifier
|
||
|
|
namespace masc
|
||
|
|
{
|
||
|
|
class Classifier
|
||
|
|
{
|
||
|
|
public:
|
||
|
|
|
||
|
|
//! Default constructor
|
||
|
|
Classifier();
|
||
|
|
|
||
|
|
//! Train the classifier
|
||
|
|
bool train(const TrainParameters& params, const Feature::Set& features, QString& errorMessage, QWidget* parentWidget = nullptr);
|
||
|
|
|
||
|
|
//! Returns whether the classifier is valid or not
|
||
|
|
bool isValid() const;
|
||
|
|
|
||
|
|
//! Saves the classifier to file
|
||
|
|
bool toFile(QString filename, QWidget* parentWidget = nullptr) const;
|
||
|
|
//! Loads the classifier from file
|
||
|
|
bool fromFile(QString filename, QWidget* parentWidget = nullptr);
|
||
|
|
|
||
|
|
protected:
|
||
|
|
|
||
|
|
//! Random trees (OpenCV)
|
||
|
|
cv::Ptr<cv::ml::RTrees> m_rtrees;
|
||
|
|
};
|
||
|
|
|
||
|
|
}; //namespace masc
|