/
limb
/
catedit-aurora
Обзор
Документация
Войти
/
limb
/
catedit-aurora
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/main.cpp
76 строк
3 KB
Артемий
update: segmentation logic
09 июл 2026, 21:54
09 июл 2026, 21:54
bbb0ed4
Код
Авторство
О чём код?
#include <QtQuick> #include <auroraapp.h> #include <QDebug> #include <QFile> #include <QLocale> #include <QQmlContext> #include <QTranslator> #include "imageprocessor.h" #include "neuralstyleengine.h" #include "resultimageprovider.h" #include "segmentationengine.h" int main(int argc, char *argv[]) { QScopedPointer<QGuiApplication> application(Aurora::Application::application(argc, argv)); application->setOrganizationName(QStringLiteral("ru.poly")); application->setApplicationName(QStringLiteral("CatEditAI")); QScopedPointer<QTranslator> translator(new QTranslator(application.data())); QString translationsDir = Aurora::Application::pathTo(QStringLiteral("translations")).toLocalFile(); QString translationPath = translationsDir + QStringLiteral("/ru.poly.CatEditAI-ru.qm"); if (!QFile::exists(translationPath)) { translationsDir = QStringLiteral("/usr/share/ru.poly.CatEditAI/translations"); translationPath = translationsDir + QStringLiteral("/ru.poly.CatEditAI-ru.qm"); } if (!QFile::exists(translationPath)) { translationPath = translationsDir + QStringLiteral("/CatEditAI-ru.qm"); } if (translator->load(translationPath)) { application->installTranslator(translator.data()); qDebug() << "Loaded translation:" << translationPath << "system locale:" << QLocale::system().name(); } else { qWarning() << "Unable to load translation:" << translationPath << "system locale:" << QLocale::system().name(); } QScopedPointer<QQuickView> view(Aurora::Application::createView()); ResultImageProvider *resultProvider = new ResultImageProvider; QScopedPointer<ImageProcessor> imageProcessor(new ImageProcessor(resultProvider)); const QString segmentationParamPath = QStringLiteral("/usr/share/ru.poly.CatEditAI/models/u2netp.ncnn.param"); const QString segmentationBinPath = QStringLiteral("/usr/share/ru.poly.CatEditAI/models/u2netp.ncnn.bin"); const QString styleParamPath = QStringLiteral("/usr/share/ru.poly.CatEditAI/models/mosaic.ncnn.param"); const QString styleBinPath = QStringLiteral("/usr/share/ru.poly.CatEditAI/models/mosaic.ncnn.bin"); qDebug() << "CatEditAI segmentation param:" << segmentationParamPath << "exists:" << QFile::exists(segmentationParamPath); qDebug() << "CatEditAI segmentation bin:" << segmentationBinPath << "exists:" << QFile::exists(segmentationBinPath); qDebug() << "CatEditAI style param:" << styleParamPath << "exists:" << QFile::exists(styleParamPath); qDebug() << "CatEditAI style bin:" << styleBinPath << "exists:" << QFile::exists(styleBinPath); SegmentationEngine::instance().setModelPaths(segmentationParamPath, segmentationBinPath); NeuralStyleEngine::instance().setModelPaths(styleParamPath, styleBinPath); view->engine()->addImageProvider(QStringLiteral("result"), resultProvider); view->rootContext()->setContextProperty(QStringLiteral("imageProcessor"), imageProcessor.data()); view->setSource(Aurora::Application::pathTo(QStringLiteral("qml/CatEditAI.qml"))); view->show(); return application->exec(); }