立体感的3D图像(包含左右眼)生成Red-Cyan分析图
来源:互联网 发布:查微信聊天记录软件 编辑:程序博客网 时间:2024/04/29 12:13
现在在作3D的东西,得到左右两个视角的图,但不知道怎么来判断效果,不知道哪个结果更好,怎么办?现在整理了些方法,备份在此,供大家分享和讨论。
1.Red-Cyan anaglyph
没有眼镜也没有关系,看视觉的一致性,视觉不一致,会带来retinal rivalry,我是这么理解的吧,如果object A在左视角出现,不在右视角出现,或者虽然都出现,但是二者形状改变等,左右眼融合得到3D时,就会很不舒服。
具体的话,看红绿色块的重叠情况。
1) vertical disparity,vertical disparity会带来3D fatigue(看3D会有明显的疲劳感).
比如:
2)monocular object violation,就是有可能object只在一个视角出现
上面2组对比,显然,Oure Result要比Baseline result好!
Code:
import cvSHIFT=8if __name__ == '__main__': import sys _, fname = sys.argv im = cv.LoadImage(fname) size = cv.GetSize(im) width, height = size left = cv.CreateImage(size, im.depth, im.nChannels) right = cv.CreateImage(size, im.depth, im.nChannels) anaglyph = cv.CreateImage((width - SHIFT, height), im.depth, im.nChannels) # # This would be easier if we had COI support for cv.Set, but it doesn't # work that way. # OpenCV uses BGR order (even if input image is greyscale): # http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html # red goes on the left, cyan on the right: # http://en.wikipedia.org/wiki/Anaglyph_image # b = cv.CreateImage(size, im.depth, 1) g = cv.CreateImage(size, im.depth, 1) r = cv.CreateImage(size, im.depth, 1) cv.Split(im, b, g, r, None) zeros = cv.CreateImage(size, r.depth, 1) cv.Merge(zeros, zeros, r, None, left) cv.Merge(b, g, zeros, None, right) # # cvRect is ( x, y, width, height ) and it MUST be a tuple, not a list # cv.SetImageROI(left, ( SHIFT, 0, width - SHIFT, height )) cv.SetImageROI(right, ( 0, 0, width - SHIFT, height )) cv.Add(left, right, anaglyph, None) cv.SaveImage('anaglyph.jpeg', anaglyph)
结果验证:
好啦,先更新到这里,以后有方法,在补充~
阅读全文
0 0
- 立体感的3D图像(包含左右眼)生成Red-Cyan分析图
- 用opencv将左右眼视角图片转换为红蓝3D图片
- 初识左右眼....
- 【3D图像生成算法的原理】
- 3D视觉原理之深度暗示(即立体感)
- 3D视觉原理之深度暗示(即立体感)
- Oculus VR SDK实现-Oculus左右眼视角的偏移实现
- Oculus SDK左右眼渲染有别
- 变换的立体感表格
- 立体感的柱状图
- 立体感的柱状图
- 立体感的Gallery
- Houdini中全景摄像机shader立体左右眼成像方法
- 基于RGB-D图像的3D人脸重建
- OpenGL绘制有立体感的五边形
- 3D 图像处理
- 3D图像软件
- 3D图像算法
- 在python中处理matlab的mat文件
- 增量构造法输出所有子集
- Android 实时文件夹
- 自动拆装箱
- Android 桌面部件
- 立体感的3D图像(包含左右眼)生成Red-Cyan分析图
- ] Map在Java中构造缓存对象的原理及实现
- 安装tomcat常见问题
- 子类构造器Constructor是否可被Override(重写)
- 2017乘风破浪,量化护航 ——京东量化&中信证券线下交流会
- uploadify上传控件使用
- CSS3自定义浏览器滚动条样式
- BZOJ 2792 [POI 2012] 二分答案 解题报告
- 日语二级文法全集