请高人指点此opencv程序代码

#include"stdafx.h"#include"highgui.h"voidmy_mouse_callback(intevent,intx,inty,intflag... #include "stdafx.h"

#include "highgui.h"

void my_mouse_callback(int event,int x,int y,int flags,void* param);
CvRect box;
bool drawing_box=false;
void draw_box(IplImage* img,CvRect rect)
{
cvRectangle(img,cvPoint(box.x,box.y),cvPoint(box.x+box.width,box.y+box.height),cvScalar(0xff,0x00,0x00));
}

int _tmain(int argc, _TCHAR* argv[])
{
box=cvRect(-1,-1,0,0);
IplImage* image=cvCreateImage(cvSize(200,200),IPL_DEPTH_8U,3);
cvZero(image);
IplImage* temp=cvCloneImage(image);//为什么要克隆
cvNamedWindow("box_example");
cvSetMouseCallback("box_example",my_mouse_callback,(void*)image);

while(1)
{
cvCopyImage(image,temp);//这句意思比较迷糊
if(drawing_box)draw_box(temp,box);
cvShowImage("box_example",temp);
if(cvWaitKey(15)==27)break;

}
cvReleaseImage(&image);
cvReleaseImage(&temp);
cvDestroyWindow("box_example");
}

void my_mouse_callback
(int event,int x,int y,int flags,void* param)
{
IplImage *Image=(IplImage*) param;
switch( event)
{
case CV_EVENT_MOUSEMOVE:{
if(drawing_box)
{
box.width=x-box.x;
box.height=y-box.y;
}

}
break;

case CV_EVENT_LBUTTONDOWN:
{
drawing_box=true;
box=cvRect(x,y,0,0);
}
break;

case CV_EVENT_LBUTTONUP:{
drawing_box=false;
if(box.width<0)
{
box.x+=box.width;
box.width *=-1; //*=-1是什么意思
}
if(box.height<0)
{
box.y+=box.height;
box.height=-1;

}
draw_box(Image,box);
}
break;
}
}

我的opencv进行环境设置时没有加tbb,此程序总显示一个错误,cvCopyImage是为定义过的函数
展开
 我来答
chensuchang
2011-03-24 · TA获得超过6399个赞
知道大有可为答主
回答量:6655
采纳率:50%
帮助的人:4942万
展开全部
1、cvCloneImage是在赋值的同时会开辟一个新的空间给定义的变量,否则你还要为这个变量创建一个空间
2、 cvCopyImage(image,temp);//这句意思比较迷糊 每次在temp图上修改,要从image还原图像
3、cvCopyImage 要加头文件
#include ""cv.h"
东莞大凡
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进... 点击进入详情页
本回答由东莞大凡提供
落实思树者
2011-03-24 · TA获得超过990个赞
知道小有建树答主
回答量:213
采纳率:100%
帮助的人:163万
展开全部
这个程序最后少一个“}”估计是你Copy的时候漏掉了,还有cvCopyImage这个函数我帮你改成cvCopy,就可以了,这时候就不用加头文件了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式