Hi, So far I've been successful in showing the first captured frame using OpenCV, in OSG.
// IplImage* cvImg is the webcam output image captured using > cvQueryFrame(capture) > osg::ref_ptr<osg::Image> osgImage = new osg::Image; > osgImage->setImage(cvImg->width,cvImg->height, 3, > GL_RGB, GL_RGB, GL_UNSIGNED_BYTE, > (BYTE*)(cvImg->imageData), > osg::Image::AllocationMode::NO_DELETE,1); > > osg::ImageStream* imageStream = dynamic_cast<osg::ImageStream*>( > osgImage.get() ); > if( imageStream ) imageStream->play(); > > osg::ref_ptr<osg::Texture2D> texture = new osg::Texture2D; > texture->setImage( osgImage.get() ); > > osg::ref_ptr<osg::Drawable> quad = osg::createTexturedQuadGeometry( > osg::Vec3(), osg::Vec3(1.0f, 0.0f, 0.0f), osg::Vec3(0.0f, 0.0f, > 1.0f) ); > quad->getOrCreateStateSet()->setTextureAttributeAndModes(0,texture.get() ); > > osg::ref_ptr<osg::Geode> geode = new osg::Geode; > geode->addDrawable( quad.get() ); But I want the entire webcam stream in OSG, after preprocessing in OpenCV. After googling I found this answer as a guide: http://markmail.org/message/txqiv4plykf3bm3r#query:+page:1+mid:txqiv4plykf3bm3r+state:results According to that I made my Camera class inherit from osg::ImageStream and called dirty() whenever a new frame is captured. But when I run the program it crashes! How can I get this to work? class Camera : public QObject, public *osg::ImageStream* > { > Q_OBJECT > public: > Camera(); > ~Camera(); > IplImage* getFrame(); > private: > CvCapture* capture; > IplImage* frame; > int timerId; > public slots: > void timerEvent(QTimerEvent *); > private slots: > void initialize(); > }; Camera::Camera() : QObject(), *osg::ImageStream()* > { > capture = cvCreateCameraCapture(0); > frame = cvQueryFrame(capture); > QTimer::singleShot(0,this,SLOT(initialize())); > } > > void Camera::initialize(){ > frame = cvQueryFrame(capture); > timerId = startTimer(10); > } > void Camera::timerEvent(QTimerEvent *){ > frame = cvQueryFrame(capture); > > *dirty();* > } Thanks
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

