- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试将 opencv 2.3 与 Visual Studio 2010 Express 一起使用。我的代码来自示例:
#include "stdafx.h"
#include <highgui.h>
int _tmain(int argc, _TCHAR* argv[])
{
int c;
// allocate memory for an image
IplImage *img;
// capture from video device #1
CvCapture* capture = cvCaptureFromCAM(1);
// create a window to display the images
cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE);
// position the window
cvMoveWindow("mainWin", 5, 5);
while(1)
{
// retrieve the captured frame
img=cvQueryFrame(capture);
// show the image in the window
cvShowImage("mainWin", img );
// wait 10 ms for a key to be pressed
c=cvWaitKey(10);
// escape key terminates program
if(c == 27)
break;
}
return 0;
}
到目前为止我做了什么?
build\bin
和 build\{x86|x64}\{vc9\vc10\mingw}\bin
之一(以使用 DLL) .build\{x86|x64}\{vc9\vc10\mingw}\lib
或 build\{x86|x64}\{vc9\vc10\mingw}\staticlib
作为我的链接器设置的库目录。build\include
和 build\include\opencv
作为包含目录。结果是:
1>LINK : fatal error LNK1104: cannot open file 'c:\OpenCV2.3\build\x86\vc10\lib.obj'
OpenCV 文件夹中没有 lib.obj
。我只解压了 OpenCV-2.3.0-win-superpack.exe
,没有使用 CMake 软件。
我做错了什么?
最佳答案
好吧,official guide是为了在VS2010上安装OpenCV 2.1,所以我在下面写了一些说明,说明如何正确安装和配置OpenCV 2.3的x86版本Visual Studio 2010(Express),因为很多人似乎都无法正确设置它。
下载OpenCV-2.3.0-win-superpack.exe并执行它以将所有文件提取到名为 OpenCV2.3
的文件夹中。在这个文件夹中有 2 个目录:build
和 opencv
。 VS2010 上的所有设置都将引用 build
目录。出于实际目的,我将文件夹 OpenCV2.3
移动到了我的 C:\
驱动器,因此请注意我在本指南中建议的路径,因为您的路径可能会有所不同。
在 Visual Studio 上,创建一个新的 Win32 控制台应用程序 项目并将其命名为您喜欢的任何名称。之后,将显示一个新窗口。点击标签 Application Settings 并确保选项 Empty Project 被选中:
将新文件main.cpp
添加到文件夹Source Files
,然后将此代码添加到main.cpp
:
#include <stdio.h>
#include <cv.h>
#include <highgui.h>
int main(int argc, char* argv[])
{
if (argc < 2)
{
printf("Usage: ./opencv_hello <file.png>\n");
return -1;
}
IplImage* img = cvLoadImage(argv[1], CV_LOAD_IMAGE_UNCHANGED);
if (!img)
{
return -1;
}
cvNamedWindow("display", CV_WINDOW_AUTOSIZE);
cvShowImage("display", img );
cvWaitKey(0);
return 0;
}
此时,我们需要配置项目,以便它可以找到 OpenCV 头文件和库。转到项目属性 (ALT+F7),一旦出现新窗口,请执行以下操作:
在配置框中,选择所有配置
打开 Configuration Properties > C/C++ > General,然后编辑字段 Additional Include Directories 以添加这 3 个路径(用于标题): p>
C:\OpenCV2.3\build\include\opencv
C:\OpenCV2.3\build\include\opencv2
C:\OpenCV2.3\build\include
请注意,include\opencv
用于 OpenCV 的 C 接口(interface),include\opencv2
用于 C++ 接口(interface)。我们还添加了文件夹 include
以防止我们的构建被 C 接口(interface)的某些头文件破坏,这些头文件将 C++ 头文件称为 opencv2\core
。
C:\OpenCV2.3\build\x86\vc9\lib
:
opencv_core230.lib
和 opencv_highgui230.lib
。所以去 Configuration Properties > Linker > Input 并添加它们:
在编写更复杂的应用程序时,您可能需要添加我没有添加的其他 OpenCV 库在我们的这个小项目中提到过。
按 F7 来构建解决方案,您应该会看到:
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
为了能够执行应用程序,您需要 modify the PATH environment variable在您的系统中添加 OpenCV 的 DLL 的位置。将此添加到 PATH 的末尾:
; C:\OpenCV2.3\build\x86\vc9\bin
关于c++ - 为 Visual Studio 2010 设置 OpenCV-2.3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7011238/
这个问题已经有答案了: Is there any way to accept only numeric values in a JTextField? (20 个回答) It's possible i
我使用戴尔 XPS M1710。笔记本电脑的盖子、侧面扬声器和前置扬声器都有灯(3 组灯可以单独调节)和鼠标垫下方的灯。在 BIOS 中,我可以更改这些灯的颜色,至少是每个组。另外,我可以在鼠标垫下打
我知道我可以使用 在 iOS 5 中打开设置应用 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"
我有一个 Django 应用程序,我正在尝试为其设置文档。目录结构如下: - doc - project | - manage.py 我已经设置了路径以便 Sphinx 可以看到东西,但是当我尝试使用
我正在使用 768mb ram 运行 centos 5.5。我一直在日志中获取 server reached MaxClients setting, consider raising the MaxC
我在具有以下配置的服务器内运行了 Drupal 安装: StartServers 5 MinSpareServers 5 MaxSpareServers 15 MaxClien
是否可以使用 Microsoft.Web.Administration 包为给定的 location 配置 asp 设置? 我想以编程方式将以下部分添加到本地 IIS applicationHost.
我一直在阅读为 kube-proxy 提供参数的文档,但没有解释应该如何使用这些参数。我使用 az aks create 创建我的集群使用 azure-cli 程序,然后我获得凭据并使用 kubect
我想知道与在 PHP 中使用 setcookie() 函数相比,在客户端通过 JavaScript 设置一些 cookie 是否有任何明显的优势?我能想到的唯一原因是减少一些网络流量(第一次)。但不是
我有一个按钮可以将 body class 设置为 .blackout 我正在使用 js-cookie设置cookie,下面的代码与我的按钮相关联。 $('#boToggle').on('click'
我有一堆自定义的 HTML div。我将其中的 3 存储在具有 slide 类的 div 中。然后,我使用该幻灯片类调用 slick 函数并应用如下设置: $('.slide').slick({
我正在创建一个应该在 Windows 8(桌面)上运行的应用 我需要: 允许用户使用我的应用启动“文件历史记录”。我需要找到打开“文件历史记录”的命令行。 我需要能够显示“文件历史记录”的当前设置。
我刚买了一台新的 MacBook Pro,并尝试在系统中设置 RVM。我安装了 RVM 并将默认设置为 ➜ rvm list default Default Ruby (for new shells)
由于有关 Firestore 中时间戳行为即将发生变化的警告,我正在尝试更改我的应用的初始化代码。 The behavior for Date objects stored in Firestore
在 ICS 中,网络 -> 数据使用设置屏幕中现在有“限制后台数据”设置。 有没有办法以编程方式为我的应用程序设置“限制后台数据”? 或 有没有办法为我的应用程序调出具有选项的“数据使用”设置? 最佳
我正在尝试使用 NextJS 应用程序设置 Jest,目前在 jest.config.js : module.exports = { testPathIgnorePatterns: ["/.n
我最近升级到 FlashDevelop 4,这当然已经将我之前的所有设置恢复到原来的状态。 我遇到的问题是我无法在新设置窗口的哪个位置找到关闭它在方括号、大括号等之前插入的自动空格的选项。 即它会自动
有没有办法以编程方式访问 iPhone/iPod touch 设置? 谢谢。比兰奇 最佳答案 大多数用户设置可以通过读取存储在 /User/Library/Preferences/ 中的属性列表来访问
删除某些值时,我需要选择哪些设置来维护有序队列。我创建了带有自动增量和主键的 id 的表。当我第一次插入值时,没问题。就像 1,2,3,4,5... 当删除某些值时,顺序会发生变化,例如 1,5,3.
我正在尝试设置示例 Symfony2 项目,如此处所示 http://symfony.com/doc/current/quick_tour/the_big_picture.html 在访问 confi
我是一名优秀的程序员,十分优秀!