测试opencv不显示图像!!

vs2010+opencv2.4.4,所有配置都没问题,编译也没有报错,但是运行代码后不显示图像窗口这是怎么回事????//test2.cpp:定义控制台应用程序的入口点... vs2010+opencv2.4.4,所有配置都没问题,编译也没有报错,但是运行代码后不显示图像窗口这是怎么回事????
// test2.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"

#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main(int argc, char* argv[])
{
const char* imagename = "Lena.jpg";

//从文件中读入图像
Mat img = imread(imagename);

//如果读入图像失败
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}

//显示图像
imshow("image", img);

//此函数等待按键,按键盘任意键就返回
waitKey();

return 0;
}

以下是运行输出窗口的内容:

“test2.exe”: 已加载“D:\Program Files\opencv\Projects\test2\Debug\test2.exe”,已加载符号。
“test2.exe”: 已加载“C:\Windows\System32\ntdll.dll”,Cannot find or open the PDB file
“test2.exe”: 已加载“C:\Windows\System32\opencv_core244d.dll”,Cannot find or open the PDB file
“test2.exe”: 已加载“C:\Windows\System32\msvcp100d.dll”,已加载符号。
“test2.exe”: 已加载“C:\Windows\System32\msvcr100d.dll”,已加载符号。
“test2.exe”: 已加载“C:\Windows\System32\opencv_highgui244d.dll”,Cannot find or open the PDB file
“test2.exe”: 已加载“C:\Windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.7601.17514_none_ec83dffa859149af\comctl32.dll”,Cannot find or open the PDB file
“test2.exe”: 已加载“C:\Windows\System32\avifil32.dll”,Cannot find or open the PDB file
“test2.exe”: 已加载“C:\Windows\System32\shlwapi.dll”,Cannot find or open the PDB file
程序“[8596] test2.exe: 本机”已退出,返回值为 -1 (0xffffffff)。
展开
 我来答
fengshen1_1
2013-06-05 · 超过19用户采纳过TA的回答
知道答主
回答量:64
采纳率:100%
帮助的人:40万
展开全部
程序的返回值是-1,说明程序进入了这个判读语句中:
//如果读入图像失败
if(img.empty())
{
fprintf(stderr, "Can not load image %s\n", imagename);
return -1;
}
单步调试你的程序,仔细看看这步的运行结果:Mat img = imread(imagename);

执行这个语句之后Mat img这个类成员是否成功读入了图像?
如果没有,检查一下你的读入图像文件路径是否正确,文件名是否有错误。
希望能帮到你。
追问
我发现图像路径必须是绝对路径才行,这是为什么?
追答
读入的文件使用方式有两种,一种是绝对路径,一种是相对路径。
比如:平时我们直接读入的图像,假设在windows环境中,图像与工程下源文件放在一起,
是Mat img = imread("lena.jpg");
这个其实完整写应该是imread( ".\lena.jpg" );,就是相对路径的用法
" . "一个点代表当前目录,两个点代表上级目录 " .. ",
如果是在上级文件夹中的”Photo“文件夹中,可以这样写:
Mat img = imread( "..\Photo\lena.jpg" );
一般用"."和”.."都是相对路径的用法
除了相对路径,还有就是绝对路径了。
希望能帮到你。
东莞大凡
2024-08-07 广告
OpenCV标定板是东莞市大凡光学科技有限公司在相机标定中常用的工具。它通常由黑白格点按一定规则排列在平面上组成,如棋盘格或圆形格等。在相机标定时,将标定板置于不同位置和姿态下拍摄图像,利用OpenCV库中的函数检测标定板上的角点或圆心,进... 点击进入详情页
本回答由东莞大凡提供
普洛智应
2013-06-04 · 知道合伙人互联网行家
普洛智应
知道合伙人互联网行家
采纳数:410 获赞数:1586
虚拟现实(VR/AR)以及游戏相关技术,物联网以及传感器技术

向TA提问 私信TA
展开全部
不DEBUG运行也有这个问题吗
这个没显示什么是由于你的程序非正常退出了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式