资源简介
虚拟视点绘制源代码
代码片段和文件信息
#include “DIBR.h“
void DIBR(IplImage *colorIplImage *depthIplImage *dibr_n)//generate right image and fill holes
{
IplImage *gray_b*gray_g*gray_r;
IplImage *dibr_b*dibr_g*dibr_r;
gray_b=cvCreateImage(cvGetSize(depth)IPL_DEPTH_8U1);
gray_g=cvCreateImage(cvGetSize(depth)IPL_DEPTH_8U1);
gray_r=cvCreateImage(cvGetSize(depth)IPL_DEPTH_8U1);
dibr_b=cvCreateImage(cvGetSize(depth)IPL_DEPTH_8U1);
cvSetZero(dibr_b);
dibr_g=cvCreateImage(cvGetSize(depth)IPL_DEPTH_8U1);
cvSetZero(dibr_g);
dibr_r=cvCreateImage(cvGetSize(depth)IPL_DEPTH_8U1);
cvSetZero(dibr_r);
cvSplit(colorgray_bgray_ggray_rNULL);
int table[256];
int knear = 0; // knear = 0 means everything is displayed behind the screen
int kfar = 128;
int xb = 6; // eye seperation distance 6cm
int D = 800; // view distance 3m
int Npix = 320; // standard definition display to reduce the parallax (maybe 720 better!!)
for (int i = 0; i < 256; i++)
{
double A = i * ( knear/64 + kfar/16 ) / 255;
double h = - xb * Npix * ( A-kfar/16) / D;
table[i] = (int)(h/2);
}
int S = 25; // depth=0 maxmium shift. !!If Npix changes this value will change!!
int step = depth->widthStep/sizeof(uchar);
uchar* datadepth = (uchar*)depth->imageData;
uchar* datagray_b = (uchar*)gray_b->imageData;
uchar* datagray_g = (uchar*)gray_g->imageData;
uchar* datagray_r = (uchar*)gray_r->imageData;
uchar* datadibr_b = (uchar*)dibr_b->imageData;
uchar* datadibr_g = (uchar*)dibr_g->imageData;
uchar* datadibr_r = (uchar*)dibr_r->imageData;
//generate right image from color image and associated depth
for (int i=0; iheight;i++)
{
for (int j=0; jwidth; j++)
{
int d = (int)(datadepth[i*step+j]);
int shift = table[d];
if (j+shift-S>=0)
{
datadibr_b[i*step+j+shift-S] = datagray_b[i*step+j];
}
}
}
for (int i=0; iheight;i++)
{
for (int j=0; jwidth; j++)
{
int d = (int)(datadepth[i*step+j]);
int shift = table[d];
if (j+shift-S>=0)
{
datadibr_g[i*step+j+shift-S] = datagray_g[i*step+j];
}
}
}
for (int i=0; iheight;i++)
{
for (int j=0; jwidth; j++)
{
int d = (int)(datadepth[i*step+j]);
int shift = table[d];
if (j+shift-S>=0)
{
datadibr_r[i*step+j+shift-S] = datagray_r[i*step+j];
}
}
}
cvMerge(dibr_bdibr_gdibr_rNULLdibr_n);
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 31070 2013-06-13 09:35 DIBR程序\depth00300.jpg
文件 32256 2013-06-13 10:09 DIBR程序\DIBR\Debug\DIBR.exe
文件 355336 2013-06-13 10:09 DIBR程序\DIBR\Debug\DIBR.ilk
文件 1141760 2013-06-13 10:09 DIBR程序\DIBR\Debug\DIBR.pdb
文件 1130 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\cl.command.1.tlog
文件 25692 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\CL.read.1.tlog
文件 610 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\CL.write.1.tlog
文件 406 2013-06-13 10:02 DIBR程序\DIBR\DIBR\Debug\DIBR.exe.em
文件 472 2013-06-13 10:02 DIBR程序\DIBR\DIBR\Debug\DIBR.exe.em
文件 381 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\DIBR.exe.intermediate.manifest
文件 46 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\DIBR.lastbuildstate
文件 2110 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\DIBR.log
文件 69847 2013-06-13 10:02 DIBR程序\DIBR\DIBR\Debug\DIBR.obj
文件 198 2013-06-13 10:02 DIBR程序\DIBR\DIBR\Debug\DIBR_manifest.rc
文件 2 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\li
文件 2 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\li
文件 2 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\li
文件 2 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\li
文件 2 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\li
文件 2 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\li
文件 1602 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\li
文件 3438 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\li
文件 556 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\li
文件 67610 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\main.obj
文件 324 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\mt.command.1.tlog
文件 290 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\mt.read.1.tlog
文件 222 2013-06-13 10:09 DIBR程序\DIBR\DIBR\Debug\mt.write.1.tlog
文件 414 2013-06-13 10:02 DIBR程序\DIBR\DIBR\Debug\rc.command.1.tlog
文件 194 2013-06-13 10:02 DIBR程序\DIBR\DIBR\Debug\rc.read.1.tlog
文件 202 2013-06-13 10:02 DIBR程序\DIBR\DIBR\Debug\rc.write.1.tlog
............此处省略30个文件信息
相关资源
- 基于51单片机的数字温度计+源代码+仿
- Zero远控完整源代码和已编译程序
- 《OSPF协议完全实现》源代码
- Struts in Action 源代码
- 简易风洞及控制系统stm32控制源码ke
- 广工-EDA实验报告 -总+Libero源代码.zi
- RoadFlow 2.1 源代码
- 某职业学院网站源代码
- STM32示波器源代码 便携式数字示波器
- 超标量处理器源代码+alpha结构资料.
- 项目源代码.rar
- 网上书店源代码
- 全套FastMsg开源代码_Delphi(7.0).rar
- 本书源代码包括第一版和第二版
- QTCAD源代码
- 力软敏捷开发框架专业版7.0_C源代码
- TCP/IP网络编程 尹圣雨源代码+PDF书籍
- 物质点法开源代码 uintah-1.2.0
- Struts2InAction中文+源代码
- 36个漂亮的各类型网站源代码
- 蓝牙学习丛书(蓝牙4.0BLE开发完全手
- Delphi程序开发范例宝典(第3版)光盘
- SSD缺陷检测裂纹源代码
- 数字钟 数电课程设计 数字钟 电子钟
- 人脸识别的TensorFlow源代码
- 大数据项目源代码电影推荐系统Movi
- 深度学习框架PyTorch入门与实践高清扫
- 亲测华登区块鸡区块狗含教程完美运
- 编译器源代码
- 《OpenCV3编程入门》书本配套源代码
评论
共有 条评论