#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(aData); aRows = *reinterpret_cast(aData+4); aColumns = *reinterpret_cast(aData+8); aData += 12; } else if (bWord < aWord) { bWord = *reinterpret_cast(bData); bRows = *reinterpret_cast(bData+4); bColumns = *reinterpret_cast(bData+8); bData += 12; } else { for (int i=0; i(aData+4*k) * *reinterpret_cast(bData+4*k); comparisons += aRows * bRows; } } return comparisons / distance; } }; BR_REGISTER(Distance, SentenceSimilarityDistance) } // namespace br #include "sentence.moc"