用opencv将左右眼视角图片转换为红蓝3D图片

用opencv将左右眼视角图片转换为红蓝3D图片

最近在做裸眼3D的研究,由于裸眼3D的屏在实验室,家里没有设备实验。于是就买了一个红蓝3D眼镜。试着用opencv将左右眼3D图片转换为红蓝3D图片。
首先准备一副红蓝3D眼镜。就是这种,或者普通的就行。


然后就是了解红蓝3D的原理了。3D眼睛是为了让左右眼看到的图片不同从而让人觉得是自己的眼睛看到了物体的两个视角。

一个图片可以分解为RGB,三个通道(红绿蓝)。红蓝3D图片原理就是将两个视角的图片合成。左眼镜片是红色的。所以将左视角图片的红色通道降低或者去掉,同理去掉右视角图片的蓝色通道。然后合成就成了红蓝3D图片。

在这里我选择的是用谷歌地球做实验。打开谷歌地球后,点击右边旋转可以得到地球不同的视角。然后用QQ截图截取左右视角(QQ截图可以调整图片的大小,为了图像的位置正确,我们使截图框直接与地球相切)



(左视角,为了方便读者们实验,图片未作缩放处理,可直接下载该图实验)

(右视角,为了方便读者们实验,图片未作缩放处理,可直接下载该图实验)
最后直接上代码,从注释上看应该就不用过多的解释了。
 
   
 
   
#include <highgui.h>
#include<cv.h>
#include<cxcore.h>
int main()
{
	IplImage *LeftImg = cvLoadImage("E://SOUR//左边.png");				//载入右边图像
	IplImage *RightImg = cvLoadImage("E://SOUR//右边.png");				//载入图片
	IplImage* OUT = cvCreateImage(cvGetSize(LeftImg), IPL_DEPTH_8U, 3);		//定义输出图片与左右视角 图片大小一致
	IplImage* LeftImgRImg = cvCreateImage(cvGetSize(LeftImg), IPL_DEPTH_8U, 1);	//定义左右视角图片各个通道图片
	IplImage* LeftImgGImg = cvCreateImage(cvGetSize(LeftImg), IPL_DEPTH_8U, 1);
	IplImage* LeftImgBImg = cvCreateImage(cvGetSize(LeftImg), IPL_DEPTH_8U, 1);
	IplImage* RightImgRImg = cvCreateImage(cvGetSize(RightImg), IPL_DEPTH_8U, 1);
	IplImage* RightImgGImg = cvCreateImage(cvGetSize(RightImg), IPL_DEPTH_8U, 1);
	IplImage* RightImgBImg = cvCreateImage(cvGetSize(RightImg), IPL_DEPTH_8U, 1);
	cvSplit(LeftImg, LeftImgBImg, LeftImgGImg, LeftImgRImg,NULL);			//左视角图片RGB通道分解
	cvSplit(RightImg, RightImgBImg, RightImgGImg, RightImgRImg, NULL);		//右视角RGB通道分解
	cvMerge(RightImgBImg, RightImgGImg, LeftImgGImg, 0, OUT);
	cvShowImage("LeftImg", LeftImg);		//显示左视角图片
	cvShowImage("RightImg", RightImg);		//显示右视角图片
	cvShowImage("out", OUT);			//显示结果图片
	cvWaitKey(0);					//中断等待
	cvReleaseImage(&LeftImg);			//销毁
	cvReleaseImage(&RightImg);
	cvReleaseImage(&OUT);
	cvReleaseImage(&LeftImgRImg);
	cvReleaseImage(&LeftImgGImg);
	cvReleaseImage(&LeftImgBImg);
	cvReleaseImage(&RightImgRImg);
	cvReleaseImage(&RightImgGImg);
	cvReleaseImage(&RightImgBImg);
}


实验结果和效果图片

(实验结果图)


(最后输出,未经缩放)

发布了10 篇原创文章 · 获赞 11 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/Zebar01/article/details/54669584
今日推荐