目录
一、背景
二、代码
一、背景
osg获取到图片的格式是osg::image,如果需要用opencv处理osg获取的图片后,就需要对其进行格式转换,具体代码如下:
二、代码#include
#include
#include
#include
//osg::image图片转opencv的cv::mat格式
void imageCapture::osgImage2CVMat(osg::ref_ptrimage) const
{
//t代表高度,s代表宽度,最后一个参数表示每个像素8bit,3通道
cv::Mat imgcv(image->t(), image->s(), CV_8UC3);
imgcv.data = (uchar *)image->data();
//图像反转,0表示沿x轴反转
cv::flip(imgcv, imgcv, 0);
//颜色空间转换,opencv默认支持BGR
cv::cvtColor(imgcv, imgcv, CV_RGB2BGR);
cv::namedWindow("opencv", CV_WINDOW_NORMAL);
cv::resizeWindow("opencv", 800, 600);
cv::imshow("opencv", imgcv);
//cv::waitKey(2000);
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)