WebcamTracker::WebcamTracker() : _vidCap(0) { _kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size2i(3, 3), cv::Point2i(1, 1)); assert(_vidCap.isOpened()); _threshold = true; _morphTransform = true; _greyscale = true; // Load initial frames _vidCap >> _curFrame; prepareNextFrame(); }
QSGNode *QQuickCustomParticle::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *) { QQuickShaderEffectNode *rootNode = static_cast<QQuickShaderEffectNode *>(oldNode); if (m_pleaseReset){ delete rootNode;//Automatically deletes children rootNode = 0; m_nodes.clear(); m_pleaseReset = false; m_dirtyProgram = true; } if (m_system && m_system->isRunning() && !m_system->isPaused()){ rootNode = prepareNextFrame(rootNode); if (rootNode) { foreach (QSGGeometryNode* node, m_nodes) node->markDirty(QSGNode::DirtyGeometry); update(); } } return rootNode; }