运行一个光流法跟踪目标的程序时,出现了无法打开包含文件"#include "cytypes.h",删除这一句,出现未定义的标识符cvCalcOpticalFlowHS,这个函数用于计算两幅图像的光流。
解决方法:删除#include"cxtypes.h",增加#include ".../opencv/build/include/opencv2/legacy/legacy.hpp"
http://stackoverflow.com/questions/10900407/cvcalcopticalflowhs-not-being-recognised-c
CalcOpticalFlowHS函数用法及作用介绍:
计算两幅图像的光流
void cvCalcOpticalFlowHS( const CvArr* prev, const CvArr* curr, int use_previous,
CvArr* velx, CvArr* vely, double lambda,
CvTermCriteria criteria );
prev
第一幅图像, 8-比特, 单通道.
curr
第二幅图像, 8-比特, 单通道.
use_previous
使用以前的 (输入) 速度域
velx
光流的水平部分,与输入图像大小一样, 32-比特,浮点数, 单通道.
vely
光流的垂直部分,与输入图像大小一样, 32-比特, 浮点数, 单通道.
lambda
Lagrangian 乘子
criteria
速度计算的终止条件
函数 cvCalcOpticalFlowHS 为输入图像的每一个象素计算光流,使用 Horn & Schunck 算法 [Horn81].