Files
chengnan/app/src/ImageWorker.cpp
2026-05-29 22:29:38 +08:00

36 lines
966 B
C++

#include "ImageWorker.h"
void ImageWorker::process(cv::Mat image, ImageWorker::Operation operation, double value, int dx, int dy)
{
if (image.empty()) {
Q_EMIT failed(QStringLiteral("没有可处理的图片"));
return;
}
ProcessResult result;
switch (operation) {
case Operation::Rotate:
result = ImageProcessor::rotate(image, value);
break;
case Operation::Scale:
result = ImageProcessor::scale(image, value);
break;
case Operation::Translate:
result = ImageProcessor::translate(image, dx, dy);
break;
case Operation::ExtractTargets:
result = ImageProcessor::extractTargets(image);
break;
case Operation::ClassifySimple:
result = ImageProcessor::classifySimple(image);
break;
}
if (result.image.empty()) {
Q_EMIT failed(QStringLiteral("图像处理失败"));
return;
}
Q_EMIT finished(result);
}