Visual Studio 2008 环境 下 在opencv 显示一个图像,设置和程序如下, 5

使用OpenCV2.0编程打开VC++2008Express,创建一个Win32控制台程序opencvhello;选择SolutionExplorer里的opencvhe... 使用OpenCV 2.0编程
打开VC++ 2008 Express,创建一个Win32控制台程序opencvhello;
选择Solution Explorer里的opencvhello项目,点击鼠标右键,选择Properties,在[链接器 LINKER]的[输入INPUT]中;
为项目的Debug配置增加依赖的库:cxcore200d.lib cv200d.lib highgui200d.lib(注意,文件名cv200d.lib 可能是cv***d.lib等形式,具体应查看D:\Program Files\OpenCV2.0\vc2008\lib )
为项目的Release配置增加依赖的库:cxcore200.lib cv200.lib highgui200.lib
配置属性-字符集修改为使用“多字节字符集” (由于2008默认是以Unicode字符集编译的)
编译运行下面的例程(需要将lena.jpg文件放在项目目录下)。
/***********************************************************************
* OpenCV 2.0 测试例程
* 于仕琪 提供
***********************************************************************/ #include "stdafx.h"
#include "highgui.h" //所有的以新风格命名的函数都在 cv 命名空间中
//如果希望不要每次都输入 cv:: ,则可使用下面语句
//using namespace cv; int_tmain(intargc,_TCHAR*argv[])
{ const char*imagename= "lena.jpg";
cv::Matimg=cv::imread(imagename); // Matlab风格的 cvLoadImage 函数的另一种调用
if(img.empty())
{fprintf(stderr, "Can not load image %s\n",imagename);
return -1;
} if( !img.data ) // 检查是否正确载入图像
return -1;
cv::namedWindow("image",CV_WINDOW_AUTOSIZE); //创建窗口cv::imshow("image",img); //显示图像
cv::waitKey(); return 0;
}

但是,它只是出来一个黑窗口,然后定一下就退出了。怎么办呢?
编译时没问题,运行时反而有问题,如图:
展开
 我来答
匿名用户
2012-04-10
展开全部
应该是最后 cv::waitKey(); 的参数问题吧。看一下下面的资料
http://blog.csdn.net/yeqiu712/article/details/6974150
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
竹叶观察
2012-04-10 · 超过28用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:69.8万
展开全部
图像没有成功读入
更多追问追答
追问
如何解决?
追答
是不是最后程序返回的是-1,如果是,那就是没有读入图像,const char*imagename= "lena.jpg"; 看看lena.jpg在不在当前DEBUG目录下,如果不在,设置相应路径
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式