将 Qt QByteArray 转换为 OpenCV cv::InputArray
Posted
技术标签:
【中文标题】将 Qt QByteArray 转换为 OpenCV cv::InputArray【英文标题】:Convert Qt QByteArray to OpenCV cv::InputArray 【发布时间】:2014-08-05 00:44:35 【问题描述】:如何将 Qt QByteArray 转换为 cv::InputArray?
我需要传入一个自定义特征向量:
// Constructor
HoGDetector::HoGDetector(QObject *parent) :
QObject(parent)
qDebug() << "Creating HoG Detector";
// Set the SVM Detector ( Default OpenCV One )
m_HoG.setSVMDetector(HOGDescriptor::getDefaultPeopleDetector());
// Read
QFile svmVectorFile(":/descriptorvector.dat");
QByteArray svmVector = svmVectorFile.readAll();
// Set the SVM Detector - custom trained HoG Detector
m_HoG.setSVMDetector(svmVector);
谢谢!
【问题讨论】:
【参考方案1】:OpenCV 知道如何将 std:vector 转换为 InputArray,所以这应该可以解决问题:
m_HoG.setSVMDetector(std::vector<uchar>(svmVector.begin(), svmVector.end()));
【讨论】:
以上是关于将 Qt QByteArray 转换为 OpenCV cv::InputArray的主要内容,如果未能解决你的问题,请参考以下文章
将 Qt QByteArray 转换为 OpenCV cv::InputArray
Qt读取ANSI格式文件——利用QTextCodec将其他编码格式的QByteArray转换为Unicode格式,或者从文件中读出后直接做转换