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

实验结果和效果图片

(实验结果图)
(最后输出,未经缩放)

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

  1. 利用ffmpeg与PotPlayer将双路图片转换为红蓝视频

    #合成左右路视频并设置帧率,每秒播放一帧 ffmpeg -r 1-i left%d.png left.mp4 ffmpeg -r 1 -i right%d.png right.mp4 #将两路视频并排 ...

  2. 【C语言】之把yuyv422格式的图片转换为pnm格式的图片

    平台:Linux /***************************************************************************** 文件名:Yuyv422T ...

  3. python将图像转换为8位单通道_使用Python将图片转换为单通道黑白图片

    本文介绍如何使用python将图片转换为纯黑白的单通道图片.文中用到的脚本支持彩色.灰度.带alpha通道的输入图片以及SVG矢量图,支持调整输出图片大小以及设置灰度阈值. 最后介绍如何输出SSD13 ...

  4. android图片转换为二进制流,Android图片二进制与Bitmap、Drawable之间的转换

    Android图片二进制与Bitmap.Drawable之间的转换 Java代码 public byte[] getBitmapByte(Bitmap bitmap){ ByteArrayOutput ...

  5. 批量转换方法!将JPG图片转换为PNG格式的图片

    图片的格式有很多种,其次,图片的格式是可以转换的,比如说将JPG转成PNG,BMP转成JPG等等.图片格式的转换,需要借助专业的辅助工具--下图高手,下面就以将JPG图片批量转换为PNG格式为例,一起 ...

  6. 如何将纯色背景的图片转换为背景透明的图片

    UI给我们的图片有时候是有纯色背景的,如果需要透明背景的时候怎么办呢?这时候,我们可能需要PS处理下,如果没有ps呢,bgremove完全可以办到,而且是在线的,不需要安装,地址:http://www ...

  7. 将纯色背景的图片转换为背景透明的图片--网站

    今天搜东西的时候发现了一个可以将纯色背景去除的网站,可以自动调整容差值,分析一下,以备不时之需! jBgRemover-在线图片去底工具-背景变透明|图片底色去除去掉 (aigei.com) 效果: ...

  8. java先抽到红球获胜,【图片】红蓝球概率问题,通过程序模拟抽取,计算结果已出,有兴趣来看【非现役文职吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我用的c语言,大一学的还没忘完....程序非常简单,就是生成随机数,然后根据随机数的结果进行计数就好了. 代码贴下面,有兴趣的可以看看. 懂行的请不要喷我 ...

  9. Linux帆软报表服务图片显示红叉,outlook图片显示红叉

    一般都是本地缓存文件造成的 比较简单的一种做法是找到IE缓存文件保存的目录,然后显示隐藏文件 关掉outlook和IE之后把文件全部手动删掉 重新打开outlook应该就可以了 在IE点Tools,找 ...

  10. C语言根据概率随机抽奖,【图片】红蓝球概率问题,通过程序模拟抽取,计算结果已出,有兴趣来看【非现役文职吧】_百度贴吧...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我用的c语言,大一学的还没忘完....程序非常简单,就是生成随机数,然后根据随机数的结果进行计数就好了. 代码贴下面,有兴趣的可以看看. 懂行的请不要喷我 ...

最新文章

  1. IBM X3650 M2 BR10i卡的阵列配置方法
  2. 不用数组,解决众数问题(前提 :众数出现的次数必须大于n/2)
  3. HOWTO: Create and submit your first Linux kernel patch using GIT
  4. 随意取消和恢复一键备份功能
  5. 单元测试的四大具体效益
  6. 谷歌、bing 翻译插件调研总结
  7. 如何在xml把字段改为HTML,xml文件直接修改
  8. html小写罗马字符怎么写,如何在 LATEX 中插入大小写的罗马字符
  9. 批量生成小说人物名字
  10. 数理统计——AQI预测
  11. c语言分离个位十位百位_C语言中 将一个3位数整数,正确分离出它的个位、十位和百位数字,并分别在屏幕上输出...
  12. IOC BeanFactory XML之旅
  13. VS2017使用gtest
  14. 用python做贪吃蛇
  15. 十进制转换成二进制 (栈)
  16. (Java)SortedMap 接口
  17. 【计蒜客系列】挑战难题4:简单斐波那契
  18. PInterest瀑布流类网站收集
  19. 「津津乐道播客」#293 津津有味:夏天是在拧开冰镇饮料的那一刻到来的
  20. 《梦幻花》-东野圭吾

热门文章

  1. vot toolkit matlab工具箱
  2. 涉密计算机怎么更新补丁,windows系统补丁你更新还是不更新?
  3. 机器认知、人机交互、边缘计算……在这里,他们谈论了关于AI的关键议题...
  4. w10桌面计算机图标箭头去除,win10桌面图标有个箭头如何去掉_去掉win10桌面图标箭头的方法-系统城...
  5. FreeRTOS死机原因
  6. html5清新文艺,30句清新文艺范的句子
  7. Notepad++ 替代品开源了!
  8. 第三章 集合的基本概念和运算
  9. 情境领导者的三体思维
  10. w7计算机无法管理员权限设置,win7管理员权限设置技巧:教你win7管理员权限设置是灰色的处理方法...