#include #include using namespace cv; namespace br { /*! * \ingroup transforms * \brief Ordered words * \author Josh Klontz \cite jklontz */ class SentenceTransform : public UntrainableMetaTransform { Q_OBJECT void project(const Template &src, Template &dst) const { QByteArray sentence; QDataStream stream(&sentence, QIODevice::WriteOnly); for (int i=0; i::max() : comparisons / distance; aWord = *reinterpret_cast(aBuffer); aRows = *reinterpret_cast(aBuffer+4); aColumns = *reinterpret_cast(aBuffer+8); aData = reinterpret_cast(aBuffer+12); aBuffer += 12 + 4*aRows*aColumns; } else if (bWord < aWord) { if (bBuffer == bEnd) return comparisons == 0 ? -std::numeric_limits::max() : comparisons / distance; bWord = *reinterpret_cast(bBuffer); bRows = *reinterpret_cast(bBuffer+4); bColumns = *reinterpret_cast(bBuffer+8); bData = reinterpret_cast(bBuffer+12); bBuffer += 12 + 4*bRows*bColumns; } else { for (int i=0; i