双目视觉简单测试

 

opencv提供了双目视觉检测距离信息的函数,试着使用了两个摄像头获得两副图像测试一下,感觉背景单纯,目标较小的情况下,得到的效果较好一些。(下图分别是左图像,右图像,得到的深度图像)

用一个长的物体来测试深度,效果不好。如下:

难点问题是两个摄像机即使是同一个机型,同样的镜头,得到的图像颜色有所轻微的差别,导致效果不好。

而使用一个摄像机平移左右得到的结果会更好一些。以下图片是opencv提供的图片,效果较好。

代码:

#include  " stdafx.h "
#include 
< iostream >
#include 
< string .h >
#include 
< cxcore.h >
#include 
< cv.h >
#include 
< cvaux.h >
#include 
< highgui.h >
#include 
< fstream >


IplImage 
* image  =   0  ;  // 原始图像

using   namespace  std;


int  main( int  argc,  char *  argv[])
{

    IplImage
*  srcLeft  =  cvLoadImage( " left.jpg " , 1 );
    IplImage
*  srcRight  =  cvLoadImage( " right.jpg " , 1 );
    IplImage
*  leftImage  =  cvCreateImage(cvGetSize(srcLeft), IPL_DEPTH_8U,  1 );
    IplImage
*  rightImage  =  cvCreateImage(cvGetSize(srcRight), IPL_DEPTH_8U,  1 );
    IplImage
*  depthImage  =  cvCreateImage(cvGetSize(srcRight), IPL_DEPTH_8U,  1 );

    cvCvtColor(srcLeft, leftImage, CV_BGR2GRAY);
    cvCvtColor(srcRight, rightImage, CV_BGR2GRAY);

    cvFindStereoCorrespondence( leftImage, rightImage, CV_DISPARITY_BIRCHFIELD, depthImage, 
50 15 3 6 8 15  );

    cvNamedWindow(
" win1 " , 1 );
    cvNamedWindow(
" win2 " , 1 );
    cvNamedWindow(
" win3 " , 1 );

    cvNormalize(depthImage,depthImage,
0 , 255 ,CV_MINMAX, 0  );

    
for (;;)
    {
        cvShowImage(
" win1 " ,depthImage);
        cvShowImage(
" win2 " ,srcLeft);
        cvShowImage(
" win3 " ,srcRight);
        
if (cvWaitKey( 20 ) == 27 break ;
    }

    
return   0 ;
}

    
 
已标记关键词 清除标记
相关推荐
目录: 第一章绪论 1·1生物视觉通路简介 1·2Marr的计算视觉理论框架 1·3本书各章内容简介 1·4计算机视觉的现状与阅读本书需注意的问题 思考题 参考文献 第二章边缘检测 2·1边缘检测与微分滤波器 2·2边缘检测与正则化方法 2·3多尺度滤波器与过零点定理 2·4最优边缘检测滤波器 2·5边缘检测快速算法 2·6图像低层次处理的其他问题 思考题 参考文献 第三章射影几何与几何元素表达 3·1仿射变换与射影变换的几何表达 3·2仿射坐标系与射影坐标系 3·3仿射变换与射影变换的代数表达 3·4不变量 3·5由对应点求射影变换 3·6点 3·7指向和方向 3·8平面直线及点线对偶关系 3·9空间平面及点面对偶关系 3·10空间直线 3·11二次曲线与二次曲面 思考题 参考文献 第四章摄像机定标 4·1线性模型摄像机定标 4·2非线性模型摄像机定标 4·3立体视觉摄像机定标 4·4机器人手眼定标 4·5摄像机自定标技术 思考题 参考文献 第五章立体视觉 5·1立体视觉与三维重建 5·2极线约束 5·3对应基元匹配 5·4射影几何意义下的三维重建 思考题 参考文献 第六章运动与不确定性表达 6·1欧氏平面上的刚体运动 6·2欧氏空间中的刚体运动 6·3不确定性的描述 6·4不确定性的运算 6·5不确定性运算的几个例子 6·6三维直线段的不确定性 6·7不确定性的显示 思考题 参考文献 第七章基于光流场的运动分析 7·1光流场和运动场 7·2光流的约束方程 7·3微分技术 7·4其他方法 7·5基于光流场的定性运动解释 思考题 参考文献 第八章长序列运动图像特征跟踪 8·1引论 8·2参数估计理论初步 8·3特征运动模型 8·4特征跟踪的阐述 8·5匹配 8·6实际应用中需要考虑的问题 思考题 参考文献 第九章基于二维特征对应的运动分析 9·1极线方程和本质矩阵 9·2基于点匹配的运动计算 9·3图像是一个空间平面的投影时的运动计算 9·4基于直线匹配的运动计算 9·5基本矩阵的估计 思考题 参考文献 第十章基于三维特征对应的运动分析 10·1由三维点匹配估计运动 10·2不需显式匹配的方法 10·3从三维直线匹配估计运动 10·4从平面匹配估计运动 10·5二维-三维的物体定位 思考题 参考文献 第十一章由图像灰度恢复三维物体形状 11·1辐射度学与光度学 11·2光照模型 11·3由多幅图像恢复三维物体形状 11·4由单幅图像恢复三维物体形状 思考题 参考文献 第十二章建模与识别 12·1CAD系统中的三维模型表达 12·2曲线与曲面的表达 12·3三维世界的多层次模型 12·4由二维图像建模 12·5识别的一般原则——问题与策略 12·6特征关系图匹配 12·7“假设检验”识别方法 思考题 参考文献 第十三章距离图像获取与处理 13·1距离传感器 13·2数据预处理 13·3深度图分割 思考题 参考文献 第十四章计算机视觉系统体系结构讨论与展望 14·1计算机视觉系统的基本体系结构 14·2视觉系统体系结构讨论 14·3主动视觉 14·4计算机视觉的应用展望 参考文献 附录A实验数据及参考结构 A·1图像的格式 A·2摄像机定标 A·3立体视觉 A·4基于光流场的运动分析 A·5长序列运动图像特征跟踪 A·6基于二维特征对应的运动分析 A·7基于三维特征对应的运动分析
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页