找了很久,网上的都是osg::Image转IplImage的,而且试了不太对,后来参看http://forum.openscenegraph.org/viewtopic.php?p=50895#50895的转换代码,得到了想要的结果。
void imgosgtoopencv()
{osg::ref_ptr<osg::Image> image = new osg::Image;
image = osgDB::readImageFile("girl_side1.jpg");
cv::Mat imgcv(image->t(),image->s(),CV_8UC3);
imgcv.data = (uchar *)image->data();
cv::flip(imgcv, imgcv, 0);
cv::cvtColor(imgcv, imgcv, CV_RGB2BGR);
cv::imshow("chang window",imgcv);
cv::waitKey(0);
}