osg::image图片转opencv的cv::Mat图片

osg::image图片转opencv的cv::Mat图片,第1张

 

目录

一、背景

二、代码


一、背景

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);
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/793055.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-05
下一篇 2022-05-05

发表评论

登录后才能评论

评论列表(0条)

保存