Я использую QT 5.7 для программы, в которой мне нужно преобразовать QPixmap в формат base64 QString. Я попытался сначала преобразовать QPixmap в cv::Mat, а затем добавил существующий поток преобразования.
Qpixmap pix;
cv::Mat pixData(pix.rows(),pix.cols(),CV_8UC3,pix.scanline());
std::vector<uchar> IMbuffer;
cv::imencode(".png", pixData, IMbuffer);
QByteArray byteArray = QByteArray::fromRawData((const char*)IMbuffer.data(), IMbuffer.size());
QString base64Image(byteArray.toBase64());
Но возвращает ошибку:
error: 'class QPixmap' has no member named 'rows'
cv::Mat pixData(pix.rows(),pix.cols(),CV_8UC3,pix.scanline());
^
Итак, понятно, что такое преобразование из QPixmap в cv::Mat несовместимо. Итак, есть ли простой способ преобразовать QPixmap в base64 QString?