1.OpenCV 下载及安装配置

opencv的下载地址:http://opencv.org/downloads.html

最新版本:opencv3.0.0

注意:支持的visual studio2013

我们可以下载稳定版本:opencv2.4.11

安装:双击opencv-2.4.11解压到某一目录下即可

配置:在系统环境变量Path中,添加相应的路径。

32位添加:C:\opencv\opencv2.4.11\build\x86\vc10\bin

64位添加:C:\opencv\opencv2.4.11\build\x86\vc10\bin 和 C:\opencv\opencv2.4.11\build\x86\vc10\bin

2.VisualStudio 下 OpenCV调试

新建一个控制台程序

按照导航一步步完成项目创建

配置项目的include目录,指向opencv的安装目录,如下图所示

配置项目依赖的lib目录及依赖的库,如下图所示

环境配置好后,编写测试代码

  1. #include "stdafx.h"
  2. #include <opencv2/opencv.hpp>
  3. #include <iostream>
  4. #include <fstream>
  5. #include <sstream>
  6. #include <math.h>
  7.  
  8. void train_and_test_lda()
  9. {
  10. string fn_csv = string("at.txt");
  11. //string fn_csv = string("feret.txt");
  12. vector<Mat> allImages,train_images,test_images;
  13. vector<int> allLabels,train_labels,test_labels;
  14. try {
  15. read_csv(fn_csv, allImages, allLabels);
  16. } catch (cv::Exception& e) {
  17. cerr <<"Error opening file "<< fn_csv <<". Reason: "<< e.msg << endl;
  18. // 文件有问题,我们啥也做不了了,退出了
  19. exit();
  20. }
  21. if(allImages.size()<=) {
  22. string error_message ="This demo needs at least 2 images to work. Please add more images to your data set!";
  23. CV_Error(CV_StsError, error_message);
  24. }
  25.  
  26. for(int i= ; i<allImages.size() ; i++)
  27. equalizeHist(allImages[i],allImages[i]);
  28.  
  29. int photoNumber = allImages.size();
  30. for(int i= ; i<photoNumber ; i++)
  31. {
  32. if((i%g_photoNumberOfOnePerson)<g_howManyPhotoForTraining)
  33. {
  34. train_images.push_back(allImages[i]);
  35. train_labels.push_back(allLabels[i]);
  36. }
  37. else
  38. {
  39. test_images.push_back(allImages[i]);
  40. test_labels.push_back(allLabels[i]);
  41. }
  42. }
  43.  
  44. /*Ptr<FaceRecognizer> model = createEigenFaceRecognizer();//定义pca模型
  45. model->train(train_images, train_labels);//训练pca模型,这里的model包含了所有特征值和特征向量,没有损失
  46. model->save("eigenface.yml");//保存训练结果,供检测时使用 */
  47.  
  48. Ptr<FaceRecognizer> fishermodel = createFisherFaceRecognizer();
  49. fishermodel->train(train_images,train_labels);//用保存的降维后的图片来训练fishermodel,后面的内容与原始代码就没什么变化了
  50. fishermodel->save("fisherlda.yml");
  51. int iCorrectPrediction = ;
  52. int predictedLabel;
  53. int testPhotoNumber = test_images.size();
  54. for(int i=;i<testPhotoNumber;i++)
  55. {
  56. predictedLabel = fishermodel->predict(test_images[i]);
  57. if(predictedLabel == test_labels[i])
  58. iCorrectPrediction++;
  59. }
  60. string result_message = format("Test Number = %d / Actual Number = %d.", testPhotoNumber, iCorrectPrediction);
  61. cout << result_message << endl;
  62. cout<<"accuracy = "<<float(iCorrectPrediction)/testPhotoNumber<<endl;
  63. }
  64.  
  65. int main() {
  66.  
  67. cout<<"lda = "<<endl;
  68. train_and_test_lda();
  69. return ;
  70. }

编译通过后,正常运行说明opencv环境配置正确。

3.Eclipse下OpenCV开发环境配置

在eclipse中,新建java project,如下图所示

新建成功后,修改项目的build path,增加外部jar,如下图所示

选择C:\opencv\opencv2.4.11\build\java\opencv-2411.jar

点开opencv-2411.jar,选择Native library location, 点击edit

32位系统指向:C:\opencv\opencv2.4.11\build\java\x86

64位系统指向:C:\opencv\opencv2.4.11\build\java\x64

编写测试代码:

  1. import org.opencv.core.Core;
  2. import org.opencv.core.CvType;
  3. import org.opencv.core.Mat;
  4.  
  5. public class TestOpencv {
  6. public static void main( String[] args )
  7. {
  8. System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
  9. Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
  10. System.out.println( "mat = " + mat.dump() );
  11. }
  12. }

运行输出如下,即环境配置正确:

OpenCv的Java,C++开发环境配置的更多相关文章

  1. java web开发环境配置系列(二)安装tomcat

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载tomcat压缩包,进入官网http: ...

  2. java web开发环境配置系列(一)安装JDK

    在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载JDK文件(http://www.or ...

  3. 【原创】LoadRunner Java Vuser开发环境配置指南

    1 编写目的 本文主要介绍Java运行环境的配置,同时通过编写HelloWorld程序,讲解在LoadRunner下如何开发简单的Java Vuser脚本.关于Java语言的深入学习,大家可以参考其他 ...

  4. Java Web开发环境配置(JDK+Tomcat++IDEA 14)

    对于未接触过java web开发的大家而言,应该和我一样对java web编程开发比较迷茫,通过查一些资料,大致清楚了java web开发环境的一些基本配置,未做过相关编程的人员可以看一看,由于我刚接 ...

  5. Java 教程(开发环境配置+基础语法)

    Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.ora ...

  6. ubuntu 安装 OpenCv 及其Qt的开发环境配置

    ubuntu安装opencv (1)安装编译opencv的环境 sudo apt-get -y install build-essential cmake pkg-config (2)安装Image ...

  7. Java web 开发环境配置。

    一.配置 win8 64位 环境java 开发环境 1.  下载JDK,地址 http://www.oracle.com/technetwork/java/javase/downloads/index ...

  8. java web开发环境配置

    一:安装jdk   http://www.java.com/zh_TW/ 二:下载tomcat,这里是zip版.http://tomcat.apache.org/download-70.cgi 三:在 ...

  9. JAVA小白开发环境配置(编译器为Idea)

    JDK配置 1.首先到官网下载最新版JDK:Oracle官网下载 Accept License Agreement–>下载适合自己pc版本的jdk(此处以64位windows为例.x86是32位 ...

随机推荐

  1. 网页 JavaScript

    今天,我主要学习了JavaScript的部分内容. JavaScript在html中的位置主要有三个地方:head里面.body里面.</html>之后,我们一般写在</html&g ...

  2. vs中的各种快捷键

    1. VS注释与取消注释快捷键 CTRL + K , CTRL + C(注释) CTRL + K , CTRL + U(取消注释)

  3. 一个初学者的辛酸路程-了解Python-2

    前言 blog花了一上午写的,结果笔记本关机了,没有保存,找不到了,找不到了啊,所以说,你看的每一篇blog可能都是我写了2次以上的--.哎!! 代码改变世界,继续......... Python基础 ...

  4. Xcode调试之查看变量

    从其他开发语言转行进军IOS开发的小伙伴可能会有这样一件苦恼的事情,调试程序时如何查看变量值?我并不喜欢每次都要通过打印去查看变量的值,也不喜欢通过光标悬浮到变量上来显示变量的值,如果要查看变量的属性 ...

  5. JPA 系列教程18-自动把firstName+lastName合并为name字段

    需求 设计的国际化网站,页面需要输入firstName,lastName,后台数据库只需要存储name属性. 页面获取的firstName,lastName持久化到数据库name属性,规则按照,分隔保 ...

  6. 基于Centos6.6的R720服务器四网口端口聚合的实践

    服务器多网口端口聚合,其目的主要在于网卡容灾和提升带宽.linux端口绑定,提供7种模式,如下: 关于mode共有0-6等7种模式,详细请参考官方手册!mode的值表示工作模式,他共有0,1,2,3, ...

  7. HttpClient的get和post方式提交数据的使用

    /** * Http工具类 */ public class HttpUtil { // 创建HttpClient对象 public static HttpClient httpClient = new ...

  8. C语言_用if```else语句解决奖金发放问题

    #include<stdio.h> #include<stdlib.h> /*企业发放的奖金根据利润提成,发放规则如下: 利润(I)低于或等于10万元时,奖金可提10%: 利润 ...

  9. git日志--log

    1. 查找改动某个文件所有的日志 git log --pretty=oneline somefile.java git log --oneline somefile.java git log --pr ...

  10. hdu_5787_K-wolf Number(数位DP)

    题目链接:hdu_5787_K-wolf Number 题意: 给你一个区间,让你找满足任意k个数位内都没有相同的数字的个数 题解: 因为k不大,就直接将当前pos的前k-1个数传进去就行了 #inc ...