OPENCV3.0+VS2013配置问题+cmake配置

主要是针对自己opencv配置过程做了记录,解决了一些配置的问题。

在codeblock和VS2013上配置了opencv,并进行了摄像头程序的测试。

主要配置方式与网上其他相同

下载opencv(官网http://opencv.org/)(这里使用opencv2.4.9)解压。

简单介绍一下配置运行库,看不懂就百度吧。

主要是环境变量添加  opencv/build/x86/vc12/bin  (32位,vs2013)

工程属性添加 运行库 bin (同上),include(opencv/build/include),lib目录(opencv/build/x86/vc12/lib

然后添加依赖库,就是lib文件

然后配置完成。(codeblock基本所有都是这么配置的,include目录,bin目录,lib目录,lib文件)

balalala。。。。。

遇到的问题 

1、lib目录只添加一个,动态链接用lib,静态链接用staticlib,不要同时添加,搜索会出错,网上很多都说这个,导致编译通不过,坑爹。因为这两个文件下有同名lib,搜索会出错的。

2、lib文件添加的时候注意debug和release模式分开,我似乎自动添加了,不过还是说明一下。

3、有人指出出现error  runtime问题要修改release和debug中属性->c/c++->代码生成中改runtime library中的选项,不过我是第一个问题解决后,就没出现过

————————————————————————

补充说明

1、vs中读取文件的当前目录是跟cpp文件相同的,如果直接放工程文件下会出错,比如imread,imshow出问题

2、codeblock的mingw可能无法使用c++接口,只能使用c接口,因为编译器问题,而vs相应的版本对应相应的编译器。主要要是编译器与opencv版本对应,最好使用借助cmake用codeblock中的mingw去编译opencv中的source文件,这样生成的文件就完美兼容了大笑,解决方法参见 http://blog.csdn.net/goomaple/article/details/45649305



更新内容 2016

利用cmake自己编译生成opencv3.0,基本步骤就是选取cmake的src和build文件,需要注意的是cmake选项,比如果你的编译器与cuda库不匹配(vs2015+cuda7.5不匹配),就会导致生成失败,还有python库注意一下。

之后生成生成release版本和debug版本即可,需要注意的是cmake中有一个选项叫opencv_world,选了这个就只有一个dll,现在一般推荐点上这个就不用一一引入了。

opencv3.0很强大,也可以关注一下github上opencv_contribute的内容,有一些比较有意思的开源未授权算法



最后贴一段代码,摄像头捕捉,做了一个简单的边缘提取

#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include "opencv2/opencv.hpp"



int _tmain(int argc, _TCHAR* argv[])
{

		cvNamedWindow("Video", CV_WINDOW_AUTOSIZE);
		cvNamedWindow("Canny", CV_WINDOW_AUTOSIZE);

		CvCapture *capture = cvCreateCameraCapture(0);//摄像头,下面一个是读视频
		//CvCapture *capture = cvCreateFileCapture("test.wmv");
		IplImage *frame;
		IplImage *frame_gray;
		IplImage *frame_canny;

		while (1)
		{
			frame = cvQueryFrame(capture);
			if (!frame)continue;//这里没用,如果为break,由于摄像头初始化还没数据就跳出循环,如果做判定,建议写在前面

			frame_gray = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 1);
			frame_canny = cvCreateImage(cvGetSize(frame), IPL_DEPTH_8U, 1);
			cvConvertImage(frame, frame_gray, 0);
			cvCanny(frame_gray, frame_canny, 10, 100, 3);

			cvShowImage("Video", frame);
			cvShowImage("Canny", frame_canny);

			char c = cvWaitKey(33);
			if (c == 27)
			{
				break;
			}

		}

		cvReleaseCapture(&capture);

		cvDestroyAllWindows();

		return 0;

}


  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值