本文整理汇总了C++中QwtPlotCurve::setRawSamples方法的典型用法代码示例。如果您正苦于以下问题:C++ QwtPlotCurve::setRawSamples方法的具体用法?C++ QwtPlotCurve::setRawSamples怎么用?C++ QwtPlotCurve::setRawSamples使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QwtPlotCurve
的用法示例。
在下文中一共展示了QwtPlotCurve::setRawSamples方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sampleFormatChanged
void MainWindow::sampleFormatChanged()
{
for (int i = 0; i < curves.size(); i++) {
curves[i].curve->detach();
delete curves[i].curve;
curves[i].data->clear();
delete curves[i].data;
}
curves.clear();
timeAxis.clear();
QList<sampleValue> sampleList = kwp.getSample();
int numSamples = settingsDialog->rate * settingsDialog->historySecs + 1;
timeAxis.clear();
for (int i = 0; i < numSamples; i++) {
timeAxis.prepend(-i / static_cast<double>(settingsDialog->rate));
}
int numColors = sizeof(colorList) / sizeof(QString);
for (int i = 0; i < sampleList.length(); i++) {
QwtPlotCurve* curve = new QwtPlotCurve;
QVector<double>* data = new QVector<double>();
data->reserve(numSamples+1);
data->fill(0, numSamples);
QColor curveColor;
curveColor.setNamedColor(colorList[i % numColors]);
int blockNum = sampleList.at(i).refs.at(0).blockNum;
int pos = sampleList.at(i).refs.at(0).pos;
blockLabels_t label = kwp.getBlockLabel(blockNum);
QString desc = label.desc[pos] + " " + label.subDesc[pos];
curve->setRenderHint(QwtPlotItem::RenderAntialiased);
curve->setPen(curveColor);
curve->setTitle(desc);
curve->setRawSamples(timeAxis.constData(), data->constData(), numSamples);
curve->attach(ui->plot);
// set legend checked
QwtLegendItem *legendItem = qobject_cast<QwtLegendItem*>(ui->plot->legend()->find(curve));
if (legendItem) {
legendItem->setChecked(true);
}
curveAndData tmp;
tmp.curve = curve;
tmp.data = data;
curves.append(tmp);
}
}
示例2: main
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
string videoName = "static";
//
//*** Pixel variation error
// original video pixel variation (RMSE) reading
tic();
vector<double> RMSEO,framesO;
double avrRMSEO;
if(readPixelRMSE("/home/maelle/Desktop/Samples/Static/"+videoName+"/"+videoName+".avi",RMSEO,framesO,avrRMSEO)>0) return -1;
toc();
// fusion stabilized video pixel variation (RMSE) reading
tic();
vector<double> RMSEF,framesF;
double avrRMSEF;
if(readPixelRMSE("/home/maelle/Desktop/Samples/Static/"+videoName+"/"+videoName+"_stable_F.avi",RMSEF,framesF,avrRMSEF)>0) return -1;
toc();
// video processing stabilized video pixel variation (RMSE) reading
tic();
vector<double> RMSEV,framesV;
double avrRMSEV;
if(readPixelRMSE("/home/maelle/Desktop/Samples/Static/"+videoName+"/"+videoName+"_stable_VP.avi",RMSEV,framesV,avrRMSEV)>0) return -1;
toc();
// second round fusion stabilized video pixel variation (RMSE) reading
tic();
vector<double> RMSEF2,framesF2;
double avrRMSEF2;
if(readPixelRMSE("/home/maelle/Desktop/Samples/Static/"+videoName+"/"+videoName+"_stable2_F.avi",RMSEF2,framesF2,avrRMSEF2)>0) return -1;
toc();
// second round video processing stabilized video pixel variation (RMSE) reading
tic();
vector<double> RMSEV2,framesV2;
double avrRMSEV2;
if(readPixelRMSE("/home/maelle/Desktop/Samples/Static/"+videoName+"/"+videoName+"_stable2_VP.avi",RMSEV2,framesV2,avrRMSEV2)>0) return -1;
toc();
// plot first round
QwtPlot plotRMSE;
plotRMSE.setTitle("Root Mean Squared pixel variation per frame");
plotRMSE.setCanvasBackground(Qt::white);
plotRMSE.insertLegend(new QwtLegend());
plotRMSE.setAxisTitle(QwtPlot::yLeft,"RMSE (px)");
plotRMSE.setAxisTitle(QwtPlot::xBottom,"Frame");
QwtPlotMarker *mAO=new QwtPlotMarker();
mAO->setLinePen(QPen(Qt::darkBlue));
mAO->setLineStyle(QwtPlotMarker::HLine);
mAO->setValue(0,avrRMSEO);
mAO->attach(&plotRMSE);
QwtPlotMarker *mAF=new QwtPlotMarker();
mAF->setLinePen(QPen(Qt::darkRed));
mAF->setLineStyle(QwtPlotMarker::HLine);
mAF->setValue(0,avrRMSEF);
mAF->attach(&plotRMSE);
QwtPlotMarker *mAV=new QwtPlotMarker();
mAV->setLinePen(QPen(Qt::darkGreen));
mAV->setLineStyle(QwtPlotMarker::HLine);
mAV->setValue(0,avrRMSEV);
mAV->attach(&plotRMSE);
QwtPlotCurve *curveRMSEO = new QwtPlotCurve();
curveRMSEO->setTitle("Original");
curveRMSEO->setPen(Qt::blue,2);
curveRMSEO->setRenderHint(QwtPlotItem::RenderAntialiased,true);
curveRMSEO->setRawSamples(framesO.data(),RMSEO.data(),framesO.size());
curveRMSEO->attach(&plotRMSE);
QwtPlotCurve *curveRMSEF = new QwtPlotCurve();
curveRMSEF->setTitle("Fusion stabilized");
curveRMSEF->setPen(Qt::red,2);
curveRMSEF->setRenderHint(QwtPlotItem::RenderAntialiased,true);
curveRMSEF->setRawSamples(framesF.data(),RMSEF.data(),framesF.size());
curveRMSEF->attach(&plotRMSE);
QwtPlotCurve *curveRMSEV = new QwtPlotCurve();
curveRMSEV->setTitle("Video Processing stabilized");
curveRMSEV->setPen(Qt::green,2);
curveRMSEV->setRenderHint(QwtPlotItem::RenderAntialiased,true);
curveRMSEV->setRawSamples(framesV.data(),RMSEV.data(),framesV.size());
curveRMSEV->attach(&plotRMSE);
plotRMSE.resize(600,400);
plotRMSE.show();
// plot second round
QwtPlot plotRMSE2;
plotRMSE2.setTitle("Root Mean Squared pixel variation per frame (second round)");
plotRMSE2.setCanvasBackground(Qt::white);
plotRMSE2.insertLegend(new QwtLegend());
plotRMSE2.setAxisTitle(QwtPlot::yLeft,"RMSE (px)");
plotRMSE2.setAxisTitle(QwtPlot::xBottom,"Frame");
QwtPlotMarker *mAO2=new QwtPlotMarker();
mAO2->setLinePen(QPen(Qt::darkBlue));
mAO2->setLineStyle(QwtPlotMarker::HLine);
mAO2->setValue(0,avrRMSEO);
mAO2->attach(&plotRMSE2);
QwtPlotMarker *mAOF=new QwtPlotMarker();
mAOF->setLinePen(QPen(Qt::darkCyan));
mAOF->setLineStyle(QwtPlotMarker::HLine);
//.........这里部分代码省略.........