File indexing completed on 2025-03-09 03:55:01
0001 /* ============================================================ 0002 * 0003 * This file is a part of digiKam 0004 * 0005 * Date : 2010-06-16 0006 * Description : A convenience class to train faces 0007 * 0008 * SPDX-FileCopyrightText: 2010 by Marcel Wiesweg <marcel dot wiesweg at gmx dot de> 0009 * SPDX-FileCopyrightText: 2010 by Aditya Bhatt <adityabhatt1991 at gmail dot com> 0010 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com> 0011 * 0012 * SPDX-License-Identifier: GPL-2.0-or-later 0013 * 0014 * ============================================================ */ 0015 0016 #ifndef DIGIKAM_RECOGNITION_TRAINING_PROVIDER_H 0017 #define DIGIKAM_RECOGNITION_TRAINING_PROVIDER_H 0018 0019 // Qt includes 0020 0021 #include <QList> 0022 #include <QImage> 0023 0024 // Local includes 0025 0026 #include "dataproviders.h" 0027 #include "identity.h" 0028 0029 namespace Digikam 0030 { 0031 0032 /** 0033 * A simple QImage training data container used by 0034 * RecognitionDatabase::train(Identity, QImage, QString) 0035 */ 0036 class RecognitionTrainingProvider : public TrainingDataProvider 0037 { 0038 public: 0039 0040 explicit RecognitionTrainingProvider(const Identity& identity, 0041 const QList<QImage*>& newImages); 0042 ~RecognitionTrainingProvider() override; 0043 0044 ImageListProvider* newImages(const Identity& id) override; 0045 0046 ImageListProvider* images(const Identity&) override; 0047 0048 public: 0049 0050 Identity m_identity; 0051 QListImageListProvider m_toTrain; 0052 QListImageListProvider m_empty; 0053 0054 private: 0055 0056 // Disable 0057 RecognitionTrainingProvider(const RecognitionTrainingProvider&) = delete; 0058 RecognitionTrainingProvider& operator=(const RecognitionTrainingProvider&) = delete; 0059 }; 0060 0061 } // namespace Digikam 0062 0063 #endif // DIGIKAM_RECOGNITION_TRAINING_PROVIDER_H