老是显示未声明 "eig_image和tmp_image"

问题描述

老是显示未声明 "eig_image和tmp_image"
// pyramid L-K light flow 4.cpp : 定义控制台应用程序的入口点。

//// TestLucasKanade.cpp : 定义控制台应用程序的入口点。
#include "stdafx.h"
#include "cv.h"
#include "highgui.h"
#include
#include
const int MAX_CORNERS=500;
int main(int argc,char** argv)
{
IplImage* imgA=cvLoadImage("d:dcachetest.jpg",CV_LOAD_IMAGE_GRAYSCALE);
IplImage* imgB=cvLoadImage("d:dcache1.jpg",CV_LOAD_IMAGE_GRAYSCALE);
CvSize img_sz=cvGetSize(imgA);
int win_size=10;
//
IplImage* imgC=cvLoadImage("d:dcache2.jpg",CV_LOAD_IMAGE_UNCHANGED);

IplImage* eig_image=cvCreateImage(img_sz,IPL_DEPTH_32F,1);
IplImage* tmp_image=cvCreateImage(img_sz,IPL_DEPTH_32F,1);

int corner_count=MAX_CORNERS;
CvPoint2D32f* cornersA=new CvPoint2D32f[MAX_CORNERS];
cvGoodFeaturesToTrack(
imgA,//检测角点
eig_image,//两个临时图像
tmp_image,
cornersA,//函数的输出,即检测到的角点数组
&corner_count,//最大角点数,调用函数后返回的角点的数目
0.01,
5.0,//返回角点之间的最短距离不应小于min_distance
0,
3,
0,
0.04
);
cvFindCornerSubPix(//根据上一步精确角点位置,确定亚像素角点
imgA,
cornersA,//整数值的像素位置
corner_count,//角点数目
cvSize(win_size,win_size),//等式产生窗口的尺寸
cvSize(-1,-1),//禁区,不需要时设置cvSize(-1,-1)
cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS,20,0.03)
);

char features_found[MAX_CORNERS];
float feature_errors[MAX_CORNERS];
CvSize pyr_sz=cvSize(imgA->width+8,imgB->height/3);
IplImage* pyrA=cvCreateImage(pyr_sz,IPL_DEPTH_32F,1);
IplImage* pyrB=cvCreateImage(pyr_sz,IPL_DEPTH_32F,1);
CvPoint2D32f* cornersB=new CvPoint2D32f[MAX_CORNERS];
cvCalcOpticalFlowPyrLK(
imgA,//初始图像
imgB,//最终图像
pyrA,//申请存放两幅输入图像金字塔的缓存,大小至少为(img.width-8)*img.height/3字节
pyrB,
cornersA,//用于寻找运动的点
cornersB,//存放featureA中点的新的位置
corner_count,//featureA中点的数目
cvSize(win_size,win_size),
5,//金字塔层数
features_found,//对应点是否在第二副图像中发现
feature_errors,
cvTermCriteria(CV_TERMCRIT_ITER|CV_TERMCRIT_EPS,20,0.3),
0
);

for(int i=0;i<corner_count;i++)
{
if(features_found[i]==0||feature_errors[i]<550)
{
printf("error is %f/n",feature_errors[i]);
continue;
}
printf("got it/n");
CvPoint p0=cvPoint(cvRound(cornersA[i].x),cvRound(cornersA[i].y));
CvPoint p1=cvPoint(cvRound(cornersB[i].x),cvRound(cornersB[i].y));
cvLine(imgC,p0,p1,CV_RGB(255,0,0),2);
}
cvNamedWindow("ImageA",0);
cvNamedWindow("ImageB",0);
cvNamedWindow("LKpyr_opticalFlow",0);
cvShowImage("ImageA",imgA);
cvShowImage("ImageB",imgB);
cvShowImage("LKpyr_opticalFlow",imgC);

cvWaitKey(0);
return 0;

}

时间: 2024-11-01 02:37:17

老是显示未声明 &amp;quot;eig_image和tmp_image&amp;quot;的相关文章

vs2012小问题-VS2012编译不报错,但是单步调试的时候查看变量值,显示这个变量是未声明的标识符

问题描述 VS2012编译不报错,但是单步调试的时候查看变量值,显示这个变量是未声明的标识符 void CGPRS2012Dlg::OnOncommMscomm1() { // TODO: 在此处添加消息处理程序代码 Sleep(300); VARIANT variant_inp; COleSafeArray safearray_inp; CString strtemp; long len,k; byte rxdata[1000]; for (int i=0;i<1000;i++) { rxda

SP2-0552: 未声明绑定变量 &amp;amp;quot;MI&amp;amp;quot;。

问题描述 SP2-0552: 未声明绑定变量 "MI". 错误如图 求解qwq 解决方案 先看看你用什么数据库: 日期转换格式要使用引号吧.日期转换 to_timestamp('2016-05-24 17:09:54', 'YYYY-MM-DD HH24:MI:SS')这样才对.

JS函数为定义问题,浏览器老是显示函数fun2( )未定义

问题描述 JS函数为定义问题,浏览器老是显示函数fun2( )未定义 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>改变图案的形状和颜色</title> <script type="text/javascript"> function fun1(){ document.body.innerHTML = &quo

如何在&amp;amp;lt;asp:BoundField HeaderText=&amp;amp;quot;状态&amp;amp;quot; /&amp;amp;gt;加入条件(if (变量 = 1){显示审核:} else{显示未审核;}

问题描述 如何在<asp:BoundFieldHeaderText="状态"/>加入条件(if(变量=1){显示审核:}else{显示未审核;}请高手指点. 解决方案 解决方案二:参考:解决方案三:Value中使用三元运算符,使用方法跟在程序中一样!解决方案四:象这种情况三元运算符怎么操作呢?解决方案五:变量=1?"审核":"未审核"是这意思?解决方案六:在.aspx文件中怎么体现出这种三元式呢?解决方案七:可以用啊,像下面这样<

利用try-catch判断变量是已声明未声明还是未赋值

这篇文章主要介绍了利用try-catch判断变量是已声明未赋值还是未声明,需要的朋友可以参考下 目的是如果一个变量是已声明未赋值,就可以直接赋值:并且不能改变变量的作用域    如果未声明的话,就重新声明,    在网上搜了下,常见的方法是if(typeof(a)=='undefined'){var a='ss';},    但是这种方法对未声明或已声明未赋值的变量都会返回true.而且如果是这样:   代码如下: var a;  function f(){  if(typeof(a)=='un

利用try-catch判断变量是已声明未声明还是未赋值_javascript技巧

目的是如果一个变量是已声明未赋值,就可以直接赋值:并且不能改变变量的作用域 如果未声明的话,就重新声明, 在网上搜了下,常见的方法是if(typeof(a)=='undefined'){var a='ss';}, 但是这种方法对未声明或已声明未赋值的变量都会返回true.而且如果是这样: 复制代码 代码如下: var a; function f(){ if(typeof(a)=='undefined') {var a=1;} } f(); console.log(a); 会显示undefined

在vs2010中利用mfc写一个连连看游戏时各种资源窗口啥的等都报“未声明的标识符”问题

问题描述 在vs2010中利用mfc写一个连连看游戏时各种资源窗口啥的等都报"未声明的标识符"问题 10C 写这个连连看游戏刚开始导入各种资源文件改好ID后运行正常,但通过进一步的编程后不知道为什么开始报各种"未声明的标识符"bug(可能中途改了一些什么设置.....)现项目最近运行的log文件如下: 生成启动时间为 2016/5/26 17:37:08. 1>项目"C:UsersAliezdocumentsvisual studio 2010Pro

ftp-Windows的DOS窗口FTP登录redhat Linux老是提示未连接

问题描述 Windows的DOS窗口FTP登录redhat Linux老是提示未连接 本人菜鸟一个,在用Windows的DOS窗口FTP登录redhat Linux老是提示未连接,是这样显示的,我服务器地址是192.168.207.130,而且进去之后,也没让输入账号密码 究竟是怎么回事?急求 解决方案 能ping通不一定能连ftp,检查下端口.防火墙还有ftp服务本身有没有启动.用cuteftp flashfxp之类的软件先连下,看看能不能连上. 解决方案二: 可能是ftp服务没有启动 解决方

数据共享 mfc dll vs2010 未声明的标识符

问题描述 刚刚看了一个网上做外挂的简单程序,用vc6.0做的dll,我试着做了下,参考网址:http://blog.csdn.net/lipenggege/article/details/4691190.根据上面的步骤,在vs2010中,创建MFCDLL项目,应用程序设置里面,选择了MFC扩展DLL(E),建立了一个项目Activekey,在ActiveKey.cpp里面,我添加代码#pragmadata_seg("sharedata") HHOOKglhHook=NULL;//钩子句