你好,我是看到了您提问的“Opencv,C++读取图片失败,指针为空,返回值为-1,求解”,请问您如何解决的?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你好,我是看到了您提问的“Opencv,C++读取图片失败,指针为空,返回值为-1,求解”,请问您如何解决的?相关的知识,希望对你有一定的参考价值。

我的问题跟您一样,也是出现了一堆Cannot find or open the PDB file,最终返回值为-1,不知道毛病在哪里呢?谢谢。

Vsual Studio 2010 +Opencv2.3.1下的配置关键步骤
学习网站: http://www.opencv.org.cn/forum/
以下内容都是build文件夹里的内容,注意路径
一、设置环境变量:
我的电脑--->右键--->属性--->高级--->环境变量--->在用户变量里,新建path和OPENCV两个项
步骤1:在path中添加H:\Program Files\OpenCV2.3.1\build\x86\vc10\bin,就是添加dll文件
步骤2:添加OPENCV的环境变量H:\Program Files\OpenCV2.3.1\build

二、打开一个Opencv的工程,点菜单目录的“视图”--->属性管理器--->双击项目名称
步骤3:在配置属性--->VC++目录--->包含目录文件中添加
H:\Program Files\OpenCV2.3.1\build\include
H:\Program Files\OpenCV2.3.1\build\include\opencv
H:\Program Files\OpenCV2.3.1\build\include\opencv2
步骤4::在配置属性--->VC++目录--->库目录中添加
H:\Program Files\OpenCV2.3.1\build\x86\vc10\lib
步骤5 添加lib库文件, 在配置debug里--->项目属性--->链接器--->输入--->附加依赖库 里加上
opencv_core231d.lib
opencv_highgui231d.lib
opencv_video231d.lib
opencv_ml231d.lib
opencv_legacy231d.lib
opencv_imgproc231d.lib
opencv_flann231d.lib
opencv_features2d231d.lib
opencv_calib3d231d.lib
opencv_objdetect231d.lib
opencv_contrib231d.lib
步骤6:在配置release里--->项目属性--->链接器--->输入--->附加依赖库 里加上
opencv_core231.lib
opencv_highgui231.lib
opencv_video231.lib
opencv_ml231.lib
opencv_legacy231.lib
opencv_imgproc231.lib
opencv_flann231.lib
opencv_features2d231.lib
opencv_calib3d231.lib
opencv_objdetect231.lib
opencv_contrib231.lib

开始简单的实例:
#include <core/core.hpp> //注意路径
#include <highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;

int main( int argc, char** argv )

Mat image;
image = imread("H:\\Image\\lena.jpg"); // Read the file,argv[1];单双斜杠都可以!
if(! image.data ) // Check for invalid input

cout << "Could not open or find the image" << std::endl ;
return -1; //返回-1表示没有读取到图像

namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;


补充:
return -1; //返回-1表示没有读取到图像
注意指导手册还有这样一段内容:
if( argc != 2)

cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;


把这段内容删掉应该就好了的,上面的读取显示程序里就没有这一段来自:求助得到的回答
参考技术A 想知道一下你出现问题的具体细节是什么 我也出现了一样的问题 配置完后也结局不了

我是 *** 的新手,在提问之前我应该​​考虑啥?

【中文标题】我是 *** 的新手,在提问之前我应该​​考虑啥?【英文标题】:I'm new to ***, what should I consider before asking questions?我是 *** 的新手,在提问之前我应该​​考虑什么? 【发布时间】:2009-01-22 13:39:14 【问题描述】:

我打破了一个众所周知的禁忌,即没有充分理由在这里提问。

人们总是这样做,点击搜索,输入“问题”,你会看到一大堆关于问题和 Stack Overflow 的元问题,这些只是噪音。

有很多“第一次”问题错误,由于各种原因反复犯,虽然对于我们这些一直在身边并认为没有任何借口的人来说,FAQ 是有争议的部分并不是很直截了当,而且在概念理解上存在很大的错误空间,并且搜索有关问题的问题实际上不会产生任何信息,只是封闭的问题。

所以这个问题可以作为一种尝试来纠正它,用有助于人们避免在第一次提问时犯错误的答案填满它,并为他们提供关于如何提问的简单易懂的答案问题,然后我们都可以将其添加到我们的收藏夹中,并在新用户没有时间阅读此内容时将链接发送给他们。

也许,当这个问题(希望)存活一周左右而没有被关闭/否决投票进入深渊时,有人可以重写这部分(我的问题),以便对我们发送到这里的人更友好。

所以,

如果我是 Stack Overflow 的新手,在提问之前我应该​​考虑哪些事项?

【问题讨论】:

只是注意到标题特别具有讽刺意味。当我读到它时,我笑了。 哇。打开一个没有投票关闭它的一周。显然,对于非编程相关的问题存在双重标准。 不,它已关闭然后重新打开。 :) 考虑是否只想将其提交给 ***。不幸的是,有时对人们来说,保持他们对 SO 的看法比帮助用户(提问者或其他来到 SO 的人)更重要。一个问题可以被收藏、点赞、有很多答案点赞,但仍然会被一个脾气暴躁的人关闭。 我也是***的新手。为什么我不能在 www.***.com 中添加评论,但在这里我可以做到。谢谢。 【参考方案1】:

当您输入问题并弹出类似问题的列表时,请执行以下操作。

    停止。

    请勿提交您的问题。

    阅读相关问题。

    阅读相关问题的所有答案。

请不要提交与已经提出的问题几乎相同的问题。我们要做的就是关闭重复的问题。

【讨论】:

不管怎样,“相关问题”框似乎“坏了”。即使不是这样,当您输入问题时弹出的问题似乎也没有以前那么有用了。 关于首先搜索您的问题的说明是有序的,IMO。 1.5 - 锤子时间! @Kezzer,哈!每次向下滚动页面时,我都会想到同样的事情。 我总是先搜索我的问题,然后看看弹出的类似问题。但这两个功能可能会更好地工作,因为我碰巧在一段时间后偶然发现了与我的(和更老的)类似的问题。 弹出的相似问题比搜索的问题更相似。事实上,我已经养成了从不搜索任何东西的习惯。我刚开始问一个问题,然后相关的问题就出现了。 FWIW,并非所有技术和领域都有有用的相关问题...我在我的领域中回答的大多数问题都提出了相关问题的错误列表...我不会鼓励任何人浪费他们的生命来阅读那些答案......这不是一般的,只是针对我活跃的领域。【参考方案2】:

阅读this: How To s The Smart Way。

【讨论】:

对此投票不够。如果我每次在某种技术论坛上链接这个(有充分理由)都有一毛钱,我会成为一个非常富有的人。 想象一下,如果 ESR 对每个链接都有一毛钱。 :) 遗憾的是,该文档太长了,无法阅读。我读到一半就停止了阅读,只是浏览了头条新闻(很明显,这是几年前的事了)。 其实很简洁,但也很透彻。对一项重要技能进行如此好的讨论并不常见。【参考方案3】:

在 PlzSendTehCodez 上

如果您发布一个问题,“我需要允许我 foo 一个 bar 的代码”,您可能会not得到你在找什么。

你会得到人们告诉你去哪里寻找答案。我们为你做你的工作(在家或其他地方)。

如果您在某段代码中遇到问题(例如对树进行排序),然后发布您遇到问题的代码,并简洁地解释您的问题。正如他们所说,程序员帮助那些帮助自己的人(它也适用于“天堂”)。

【讨论】:

【参考方案4】:

当您阅读问题的答案时,请记住以下内容。

答案是独立的。这不是一个线程讨论组。答案没有先后顺序。有些人按投票顺序或时间顺序看待它们。除非意外,否则没有人会看到您的“答案”以预期的顺序响应先前的答案。

不要引用真相或重复前面的答案加上“我同意”。只需给他们投票,可能还有评论。

不要用答案来澄清或修改您的问题。通过澄清或修改问题来澄清或修改您的问题。

要获得声望积分,请阅读并点赞一段时间。

【讨论】:

大多数新用户看不到甚至有一个编辑按钮。【参考方案5】:

问。我的问题被忽略了!这甚至不是一个真正的困难,这是怎么回事?

您可能没能让它对您的观众有吸引力。

要获得答案,人们必须喜欢阅读您的问题,他们必须了解导致您的问题发生的情况,并且他们必须有一种他们没有在您身上浪费时间的感觉。

查看此列表:

您使用正确的英语吗?您的问题是否经过拼写检查、简洁且易于理解? 您是否尽了最大的努力来格式化您的问题、正确缩进代码并将文本段落分成单独的段落? 您的语气与您的情况相符吗?你在寻求帮助,你应该是这样的。 是否包含相关代码、版本信息等?你应该这样做。 您发布的代码是否以最短的位显示您的问题?通过向他们提供程序中的复制和粘贴示例,确保您不会将您的读者误用作人工调试器,让他们负责找出问题所在。 您是否使用了好的标签?有用的标签会提及您问题的一般主题和/或 2-3 个核心技术。采用最常见的标签(您将在下拉列表中看到使用计数)。不要重复自己 - 例如,使用 [xsl] 或 [xslt],但不能同时使用。 这个问题是普遍关注的问题吗?有些问题太本地化了,所以没有人能解决你的问题。不过,这很不寻常。

如果您对其中任何一个回答“否”,您应该修改您的问题。

【讨论】:

添加“你使用了好的标签吗?”这会产生巨大的影响:它将决定您的问题是突出显示还是显示在对您的主题有资格和感兴趣的人的 RSS 提要中。 这是一个社区维基,您可以自己添加。 ;-) +1:代码示例帮助。【参考方案6】:

把你的问题读给自己听。检查你的逻辑。您是否希望计算机完成您自己不知道的事情?你期待逻辑上不可能吗?您对计算机在您的情况下的工作方式有明确的模型吗?请努力自己解决逻辑和计算模型问题。然后,当问题变成只是了解事实或分析权衡的问题时,将其提交给 SO。这就是我们擅长的。

【讨论】:

【参考方案7】:

搜索。

我很少用这种方式提出任何问题,而且我学到了很多东西。

【讨论】:

【参考方案8】:

问一个会有实际答案的问题会很好。让它显而易见。如果我不得不问自己你到底想得到什么答案,那么你的问题就没有很好地说明。

主观题显然不属于这一类。

【讨论】:

“一些主观问题”?我会说他们都这样做。如果有实际答案,问题就不会是主观的。【参考方案9】:

我想问的真的是一个问题……在某个地方没有答案吗?

【讨论】:

【参考方案10】:

不要重复

    多次提出同一个问题不会让您有任何收获。您所拥有的只是人们以不同的方式回答同一个问题,而当重复的问题关闭时,其中一些答案将会丢失。

    不要针对某人回答的问题提出新问题,尤其是不要删除原来的问题,按照S. Lott 说的做,修改原来的问题随着您的进步,并评论有问题的答案,以通知他们问题已更新。

【讨论】:

我很想添加另一个答案,上面写着“不要重复”。幸运的是,我克制了自己错误的幽默感。【参考方案11】:

我们大多数人只是想提供一些无用的信息供你思考,直到找到更准确的答案

迈克尔

【讨论】:

以上是关于你好,我是看到了您提问的“Opencv,C++读取图片失败,指针为空,返回值为-1,求解”,请问您如何解决的?的主要内容,如果未能解决你的问题,请参考以下文章

Opencv C++读取分配给特征向量的opencv Mat

使用 OpenCV(C++)读取文件夹中的任何 .jpg 图像 [关闭]

你好,我是PAYPAL的新手,我看到了认证中有2个,一个是银行账户认证一个是借记卡和信用卡认证,区别?

你好 我看见您提问过用PHPExcel 下载出现乱码的问题 情况和我现在碰到的很像 如果得到解决的话望指点一二

在ubuntu上怎样使用wireshark

你好,请问swiperjs如何安装和使用?