digiKam
Loading...
Searching...
No Matches
imagequalitythread.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 28/08/2021
7 * Description : Image Quality Parser - Thread to run detectors
8 *
9 * SPDX-FileCopyrightText: 2021-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2021-2022 by Phuoc Khanh Le <phuockhanhnk94 at gmail dot com>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QThread>
21
22// Local includes
23
24#include "dimg.h"
25#include "digikam_opencv.h"
26#include "abstract_detector.h"
28
29namespace Digikam
30{
31
32class ImageQualityThread : public QThread
33{
34 Q_OBJECT
35
36public:
37
38 explicit ImageQualityThread(QObject* const parent,
39 AbstractDetector* const detector,
40 const cv::Mat& image,
41 ImageQualityCalculator* const calculator,
42 float weight_quality);
44
45public:
46
47 void run() override;
48
49private:
50
51 AbstractDetector* m_detector;
52 ImageQualityCalculator* m_calculator;
53 cv::Mat m_image;
54 float m_weight;
55};
56
57// -------------------------------------------------------------------------------------------
58
59class ImageQualityThreadPool: public QObject
60{
61 Q_OBJECT
62
63public:
64
65 explicit ImageQualityThreadPool(QObject* const parent,
66 ImageQualityCalculator* const calculator);
68
69public:
70
71 void addDetector(const cv::Mat& image,
72 float weight_quality,
73 AbstractDetector* const detector);
74
75 void start();
76 void end();
77
78private:
79
80 ImageQualityCalculator* m_calculator;
81 QList<ImageQualityThread*> m_threads;
82};
83
84} // namespace Digikam
Definition abstract_detector.h:31
Definition imagequalitycalculator.h:31
Definition imagequalitythread.h:60
void start()
Definition imagequalitythread.cpp:77
void addDetector(const cv::Mat &image, float weight_quality, AbstractDetector *const detector)
Definition imagequalitythread.cpp:61
~ImageQualityThreadPool()
Definition imagequalitythread.cpp:49
void end()
Definition imagequalitythread.cpp:85
Definition imagequalitythread.h:33
void run() override
Definition imagequalitythread.cpp:34
Definition datefolderview.cpp:34