4#include <opencv2/core.hpp>
5#include <opencv2/imgcodecs.hpp>
6#include <opencv2/imgproc.hpp>
11#include <QtConcurrent>
13#include <QMutexLocker>
15#include <QFutureSynchronizer>
22#include <tl/expected.hpp>
27#include "stringcontainer.h"
28#include "modelinputpictures.h"
29#include "progressable.h"
30#include "exportexif.h"
31#include "imageprocessor.h"
32#include "copyfilecommand.h"
33#include "cropcommand.h"
34#include "resizecommand.h"
35#include "writetodiskcommand.h"
36#include "exiftagcommand.h"
37#include "maskmergecommand.h"
39#include "pluginthread.h"
41#define JPEG_COMPRESSION_PARAMS {cv::IMWRITE_JPEG_QUALITY, 100}
55 std::optional<ROI> roi;
60 bool copy_images =
false;
66enum class ExportResultType
79 ExportResultType type;
85 return {ExportResultType::Success, 0,
""};
89 return {ExportResultType::PartialSuccess, broken,
""};
93 return {ExportResultType::Aborted, 0,
""};
97 return {ExportResultType::Failed, 0, msg};
123 std::shared_ptr<LogFile> logFile,
PluginThread* pluginThread =
nullptr);
128 static tl::expected<ExportValidationResult, ExportError>
134 std::vector<uint> m_keyframes;
135 volatile bool* m_stopped;
138 std::shared_ptr<LogFile> m_logFile;
139 std::atomic<int> m_completedWorkUnits{0};
140 int m_totalWorkUnits = 0;
144 void reportProgress(
const QString& operation,
int stepIndex,
int totalSteps);
Definition exportexif.h:14
The ExportThread class provides functionality to export images with given resolution,...
Definition exportthread.h:117
Manages a stack of mask generation records for later export.
Definition maskstack.h:88
Definition pluginthread.h:123
The Progressable interface is used to by multithreaded actions such as sampling or exporting to repor...
Definition progressable.h:18
The Reader interface defines functions which are used for reading and parsing the import.
Definition reader.h:23
The Resolution class encapsulates an image resolution (width and height). It provides functionality f...
Definition resolution.h:17
Definition exportthread.h:51
Definition exportthread.h:43
ExportResult holds the result of an export operation.
Definition exportthread.h:78
Definition exportthread.h:47