光流法 \OpenCV2.1\samples\c\lkdemo.exe

转载 2012年03月24日 17:48:15
/////////////光流法//////////////
#include <D:\\OpenCV\\OpenCV2.2\\include\\opencv2/video/tracking.hpp>
#include <D:\\OpenCV\\OpenCV2.2\\include\\opencv2/highgui/highgui.hpp>
#include <stdio.h>
void help()
{
	printf(
		"This program demonstrate dense \"Farneback\n optical flow\n"
		"It read from camera 0, and shows how to use and display dense Franeback optical flow\n"
		"Call:\n"
		"./fback_c\n\n");

}
void drawOptFlowMap(const CvMat* flow, CvMat* cflowmap, int step,
	double scale, CvScalar color)
{
	int x, y;
	for( y = 0; y < cflowmap->rows; y += step)
		for( x = 0; x < cflowmap->cols; x += step)
		{
			CvPoint2D32f fxy = CV_MAT_ELEM(*flow, CvPoint2D32f, y, x);
			cvLine(cflowmap, cvPoint(x,y), cvPoint(cvRound(x+fxy.x), cvRound(y+fxy.y)),
				color, 1, 8, 0);
			cvCircle(cflowmap, cvPoint(x,y), 2, color, -1, 8, 0);
		}
}

int main(int argc, char** argv)
{
	CvCapture* capture = cvCreateCameraCapture(0);
	CvMat* prevgray = 0, *gray = 0, *flow = 0, *cflow = 0;

	help();

	if( !capture )
		return -1;

	cvNamedWindow("flow", 1);

	for(;;)
	{
		int firstFrame = gray == 0;
		IplImage* frame = cvQueryFrame(capture);
		if(!frame)
			break;
		if(!gray)
		{
			gray = cvCreateMat(frame->height, frame->width, CV_8UC1);
			prevgray = cvCreateMat(gray->rows, gray->cols, gray->type);
			flow = cvCreateMat(gray->rows, gray->cols, CV_32FC2);
			cflow = cvCreateMat(gray->rows, gray->cols, CV_8UC3);
		}
		cvCvtColor(frame, gray, CV_BGR2GRAY);

		if( !firstFrame )
		{
			cvCalcOpticalFlowFarneback(prevgray, gray, flow, 0.5, 3, 15, 3, 5, 1.2, 0);
			cvCvtColor(prevgray, cflow, CV_GRAY2BGR);
			drawOptFlowMap(flow, cflow, 16, 1.5, CV_RGB(0, 255, 0));
			cvShowImage("flow", cflow);
		}
		if(cvWaitKey(30)>=0)
			break;
		{
			CvMat* temp;    
			CV_SWAP(prevgray, gray, temp);
		}
	}
	cvReleaseCapture(&capture);
	return 0;
}

学习OpenCV的学习笔记系列(二)源码编译及自带样例工程

本文转载自:http://www.07net01.com/2014/09/66490.html 下载及安装CMake3.0.1       要自己编译OpenCV2.4.9的源码,首...
  • thystar
  • thystar
  • 2015年04月18日 10:10
  • 1610

opencv的基本数据类型CvPoint,CvSize,CvRect和CvScalar

opencv的基本数据类型CvPoint,CvSize,CvRect,CvScalar
  • gdut2015go
  • gdut2015go
  • 2015年06月01日 11:18
  • 5690

opencv2.1版本

  • 2012年12月08日 09:12
  • 24.04MB
  • 下载

OpenCV2.1.0的安装

下载和安装 OpenCV 2.1.0 1、通过选择“我的电脑”-“属性”-“高级”-“环境变量”将Path中的OpenCV的路径设置为其安装的路径,例如在我的电脑上,OpenCV的路径为: ...
  • tender8888
  • tender8888
  • 2012年02月20日 10:49
  • 3508

opencv2.1.0 安装版

  • 2017年01月13日 10:57
  • 29.11MB
  • 下载

OPENCV2.1安装软件

  • 2010年08月03日 21:38
  • 13.79MB
  • 下载

opencv2.1配置

VS 2008下安装、配置OpenCV 2.12010-07-08 12:40最近最图像处理大作业,配置环境(由王同学提供)vs2008 + OpenCV-2.1.0-win32-vs2008安装1....
  • xz99261025
  • xz99261025
  • 2010年08月09日 13:38
  • 305

Opencv2与opencv1的区别:

一:Opencv2与opencv1的区别: Opencv1.0版本于2006年面世,主要基于C语言。2009年发布opencv2,主要基于C++。此时opencv库被划分成多个模块,这些模块被编译成...
  • SingDancer
  • SingDancer
  • 2014年08月19日 20:21
  • 2929

VS2010+openCV2.1环境的配置

1、下载VS2010、openCV2.1和Cmake的安装文件。openCV2.1在官网下的一般是不需要安装,只要解压就好,然后放到任意盘里。我选择是放到C盘的Program File下面。 2、点...
  • LMouse1990
  • LMouse1990
  • 2012年02月15日 21:09
  • 1876

OpenCV-2.1.0-win.zip

  • 2014年08月03日 10:55
  • 24.04MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:光流法 \OpenCV2.1\samples\c\lkdemo.exe
举报原因:
原因补充:

(最多只允许输入30个字)