diff --git a/openbr/plugins/draw.cpp b/openbr/plugins/draw.cpp index 5573a1e..d95c4ae 100644 --- a/openbr/plugins/draw.cpp +++ b/openbr/plugins/draw.cpp @@ -527,6 +527,39 @@ class DrawSegmentation : public UntrainableTransform }; BR_REGISTER(Transform, DrawSegmentation) +/*! + * \ingroup transforms + * \brief Write all mats to disk as images. + * \author Brendan Klare \bklare + */ +class WriteImageTransform : public TimeVaryingTransform +{ + Q_OBJECT + Q_PROPERTY(QString outputDirectory READ get_outputDirectory WRITE set_outputDirectory RESET reset_outputDirectory STORED false) + Q_PROPERTY(QString imageName READ get_imageName WRITE set_imageName RESET reset_imageName STORED false) + Q_PROPERTY(QString imgExtension READ get_imgExtension WRITE set_imgExtension RESET reset_imgExtension STORED false) + BR_PROPERTY(QString, outputDirectory, "Temp") + BR_PROPERTY(QString, imageName, "image") + BR_PROPERTY(QString, imgExtension, "jpg") + + int cnt; + + void init() { + cnt = 0; + if (! QDir(outputDirectory).exists()) + QDir().mkdir(outputDirectory); + } + + void projectUpdate(const Template &src, Template &dst) + { + dst = src; + OpenCVUtils::saveImage(dst.m(), QString("%1/%2_%3.%4").arg(outputDirectory).arg(imageName).arg(cnt++, 5, QChar('0')).arg(imgExtension)); +qDebug() << "AT " << cnt; + } + +}; +BR_REGISTER(Transform, WriteImageTransform) + // TODO: re-implement EditTransform using Qt #if 0 /*!