OpenCv的Java,C++开发环境配置
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目录及依赖的库,如下图所示
环境配置好后,编写测试代码
- #include "stdafx.h"
- #include <opencv2/opencv.hpp>
- #include <iostream>
- #include <fstream>
- #include <sstream>
- #include <math.h>
- void train_and_test_lda()
- {
- string fn_csv = string("at.txt");
- //string fn_csv = string("feret.txt");
- vector<Mat> allImages,train_images,test_images;
- vector<int> allLabels,train_labels,test_labels;
- try {
- read_csv(fn_csv, allImages, allLabels);
- } catch (cv::Exception& e) {
- cerr <<"Error opening file "<< fn_csv <<". Reason: "<< e.msg << endl;
- // 文件有问题,我们啥也做不了了,退出了
- exit();
- }
- if(allImages.size()<=) {
- string error_message ="This demo needs at least 2 images to work. Please add more images to your data set!";
- CV_Error(CV_StsError, error_message);
- }
- for(int i= ; i<allImages.size() ; i++)
- equalizeHist(allImages[i],allImages[i]);
- int photoNumber = allImages.size();
- for(int i= ; i<photoNumber ; i++)
- {
- if((i%g_photoNumberOfOnePerson)<g_howManyPhotoForTraining)
- {
- train_images.push_back(allImages[i]);
- train_labels.push_back(allLabels[i]);
- }
- else
- {
- test_images.push_back(allImages[i]);
- test_labels.push_back(allLabels[i]);
- }
- }
- /*Ptr<FaceRecognizer> model = createEigenFaceRecognizer();//定义pca模型
- model->train(train_images, train_labels);//训练pca模型,这里的model包含了所有特征值和特征向量,没有损失
- model->save("eigenface.yml");//保存训练结果,供检测时使用 */
- Ptr<FaceRecognizer> fishermodel = createFisherFaceRecognizer();
- fishermodel->train(train_images,train_labels);//用保存的降维后的图片来训练fishermodel,后面的内容与原始代码就没什么变化了
- fishermodel->save("fisherlda.yml");
- int iCorrectPrediction = ;
- int predictedLabel;
- int testPhotoNumber = test_images.size();
- for(int i=;i<testPhotoNumber;i++)
- {
- predictedLabel = fishermodel->predict(test_images[i]);
- if(predictedLabel == test_labels[i])
- iCorrectPrediction++;
- }
- string result_message = format("Test Number = %d / Actual Number = %d.", testPhotoNumber, iCorrectPrediction);
- cout << result_message << endl;
- cout<<"accuracy = "<<float(iCorrectPrediction)/testPhotoNumber<<endl;
- }
- int main() {
- cout<<"lda = "<<endl;
- train_and_test_lda();
- return ;
- }
编译通过后,正常运行说明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
编写测试代码:
- import org.opencv.core.Core;
- import org.opencv.core.CvType;
- import org.opencv.core.Mat;
- public class TestOpencv {
- public static void main( String[] args )
- {
- System.loadLibrary( Core.NATIVE_LIBRARY_NAME );
- Mat mat = Mat.eye( 3, 3, CvType.CV_8UC1 );
- System.out.println( "mat = " + mat.dump() );
- }
- }
运行输出如下,即环境配置正确:
OpenCv的Java,C++开发环境配置的更多相关文章
- java web开发环境配置系列(二)安装tomcat
在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载tomcat压缩包,进入官网http: ...
- java web开发环境配置系列(一)安装JDK
在今天,读书有时是件“麻烦”事.它需要你付出时间,付出精力,还要付出一份心境.--仅以<java web开发环境配置系列>来祭奠那逝去的…… 1.下载JDK文件(http://www.or ...
- 【原创】LoadRunner Java Vuser开发环境配置指南
1 编写目的 本文主要介绍Java运行环境的配置,同时通过编写HelloWorld程序,讲解在LoadRunner下如何开发简单的Java Vuser脚本.关于Java语言的深入学习,大家可以参考其他 ...
- Java Web开发环境配置(JDK+Tomcat++IDEA 14)
对于未接触过java web开发的大家而言,应该和我一样对java web编程开发比较迷茫,通过查一些资料,大致清楚了java web开发环境的一些基本配置,未做过相关编程的人员可以看一看,由于我刚接 ...
- Java 教程(开发环境配置+基础语法)
Java 开发环境配置 在本章节中我们将为大家介绍如何搭建Java开发环境. window系统安装java 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:http://www.ora ...
- ubuntu 安装 OpenCv 及其Qt的开发环境配置
ubuntu安装opencv (1)安装编译opencv的环境 sudo apt-get -y install build-essential cmake pkg-config (2)安装Image ...
- Java web 开发环境配置。
一.配置 win8 64位 环境java 开发环境 1. 下载JDK,地址 http://www.oracle.com/technetwork/java/javase/downloads/index ...
- java web开发环境配置
一:安装jdk http://www.java.com/zh_TW/ 二:下载tomcat,这里是zip版.http://tomcat.apache.org/download-70.cgi 三:在 ...
- JAVA小白开发环境配置(编译器为Idea)
JDK配置 1.首先到官网下载最新版JDK:Oracle官网下载 Accept License Agreement–>下载适合自己pc版本的jdk(此处以64位windows为例.x86是32位 ...
随机推荐
- 网页 JavaScript
今天,我主要学习了JavaScript的部分内容. JavaScript在html中的位置主要有三个地方:head里面.body里面.</html>之后,我们一般写在</html&g ...
- vs中的各种快捷键
1. VS注释与取消注释快捷键 CTRL + K , CTRL + C(注释) CTRL + K , CTRL + U(取消注释)
- 一个初学者的辛酸路程-了解Python-2
前言 blog花了一上午写的,结果笔记本关机了,没有保存,找不到了,找不到了啊,所以说,你看的每一篇blog可能都是我写了2次以上的--.哎!! 代码改变世界,继续......... Python基础 ...
- Xcode调试之查看变量
从其他开发语言转行进军IOS开发的小伙伴可能会有这样一件苦恼的事情,调试程序时如何查看变量值?我并不喜欢每次都要通过打印去查看变量的值,也不喜欢通过光标悬浮到变量上来显示变量的值,如果要查看变量的属性 ...
- JPA 系列教程18-自动把firstName+lastName合并为name字段
需求 设计的国际化网站,页面需要输入firstName,lastName,后台数据库只需要存储name属性. 页面获取的firstName,lastName持久化到数据库name属性,规则按照,分隔保 ...
- 基于Centos6.6的R720服务器四网口端口聚合的实践
服务器多网口端口聚合,其目的主要在于网卡容灾和提升带宽.linux端口绑定,提供7种模式,如下: 关于mode共有0-6等7种模式,详细请参考官方手册!mode的值表示工作模式,他共有0,1,2,3, ...
- HttpClient的get和post方式提交数据的使用
/** * Http工具类 */ public class HttpUtil { // 创建HttpClient对象 public static HttpClient httpClient = new ...
- C语言_用if```else语句解决奖金发放问题
#include<stdio.h> #include<stdlib.h> /*企业发放的奖金根据利润提成,发放规则如下: 利润(I)低于或等于10万元时,奖金可提10%: 利润 ...
- git日志--log
1. 查找改动某个文件所有的日志 git log --pretty=oneline somefile.java git log --oneline somefile.java git log --pr ...
- hdu_5787_K-wolf Number(数位DP)
题目链接:hdu_5787_K-wolf Number 题意: 给你一个区间,让你找满足任意k个数位内都没有相同的数字的个数 题解: 因为k不大,就直接将当前pos的前k-1个数传进去就行了 #inc ...