计算机视觉介绍
来源:互联网 发布:最好用的健身软件 编辑:程序博客网 时间:2024/05/22 10:35
http://blog.csdn.net/hardVB/archive/2007/07/11/1685493.aspxwww
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;
}
- 计算机视觉介绍
- 计算机视觉软件介绍
- 计算机视觉牛人介绍
- 【计算机视觉】stitching_detail算法介绍
- OpenCV(开源计算机视觉库介绍)
- OpenCV(开源计算机视觉库介绍)
- 计算机视觉领域的SCI期刊介绍
- 斯坦福李飞飞-深度学习与计算机视觉 计算机视觉历史回顾与介绍
- 计算机视觉
- 计算机视觉
- 计算机视觉
- 计算机视觉
- 计算机视觉
- 计算机视觉
- 计算机视觉
- 计算机视觉
- 计算机视觉
- 计算机视觉
- 服务器的启动
- SQL多表查询语句
- Stateless Session Bean 与Stateful Session Bean 的比较
- 谁能帮我写下这个程序的流程图啊`````急用`````望高手多多帮忙谢谢!
- RSA与大数运算
- 计算机视觉介绍
- 编程十大好习惯
- 贪吃蛇(改进)
- 行变列,交叉查询
- SQL语言的分类
- 在spring+hibernate中使用tomcat5.5的jndi数据源
- 在linux中如何加载闪存盘(优盘)?
- 骆驼命名法,帕斯卡命名法和匈牙利命名法
- Google成功秘密:构筑基于PC机的IT基础设施(转载 eNet)