Ubuntu下opencv的安装及IDEA开发配置
Ubuntu下opencv的安装及IDEA开发配置
这篇博客主要介绍Ubuntu下opencv的安装编译,以及IDEA对opencv进行Java开发的环境配置
安装opencv
首先安装opencv和opencv_contrib
在Ubuntu下可以方便的使用git指令进行下载
git clone https://github.com/Itseez/opencv.git
git clone https://github.com/Itseez/opencv_contrib.git
下载成功后,在home目录中就可以看见opencv和opencv_contrib这两个文件夹,将opencv_contrib文件夹移动到opencv文件夹中
下载opencv所需要的依赖库
sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libttb2 libttb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libdc1394-22-dev ant
进行编译
进入opencv目录,创建build目录:
mkdir build
进入build目录,开始编译:
cd build
cmake -D CMAKE_BUILD_TYPE=release -D CMAKE_INSTALL_PREFIX=/usr/local ..
make
make install
ps:后面的两个点不能少
执行完这一步之后,opencv已经装好了,但是如果进行Java开发,那还要生成jar包
接下来执行
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -DBUILD_TESTS=OFF ..
make -j8
sudo make install
执行完后,如果在opencv/build/bin看到jar包,那就表明安装成功了。
IDEA环境配置
导入jar包
IDEA点击左上角File——>Project Structure——>Libraries点击绿色的+号,导入bin中间的jar包即可
配置VM options
点击编辑配置(留下了英语不好的眼泪/(ㄒoㄒ)/~~,英文版点击同样的地方)

点击虚拟机选项【也就是VM options】输入opencv的build下的lib路径

测试
运行以下代码
package Data;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.imgcodecs.Imgcodecs;
public class Test {
public static void main(String[] a){
System.loadLibrary(Core. NATIVE_LIBRARY_NAME);
Mat m = Imgcodecs.imread("01.jpg");
System.out.println(m);
}
}
如果结果类似以下信息,那么恭喜你,opencv安装成功

命令行编译运行Java代码
编译
javac -cp opencv_java400.jar Data.java ImageGui.java
运行
java -Djava.library.path=/home/xiaohui/opencv/build/lib -cp opencv_java400.jar: Data ImageGui
两个Java小项目
人脸识别:Github
视频转字符串:Github
d(ŐдŐ๑)觉得不错就给个start吧 ┌(`▽′)╭
Ubuntu下opencv的安装及IDEA开发配置的更多相关文章
- Ubuntu下的RabbitMQ安装与web管理配置
首先在Ubutnu的/etc/apt/sources.list文件中加入一行 deb http://cz.archive.ubuntu.com/ubuntu trusty main 然后执行 sudo ...
- ubuntu下MySQL的安装及远程连接配置(转)
1.命令窗口中输入sudo apt-get install mysql-server mysql-client 即可(配置文件位置:/etc/mysql/my.cnf 启动文件位置:/etc/init ...
- [学习OpenCV攻略][002][Ubuntu下OpenCV安装]
配置环境 操作系统 Ubuntu 12.04 OpenCV版本 opencv-1.0.0 学习书籍 <学习OpenCV> Liunx软件安装方法主要有3种: 1.编译安装,也就是通过编译源 ...
- ubuntu下的openfire安装、配置、运行
openfire服务器 Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.您可以使用它轻易的构建高效率的即时通信服务器.Op ...
- 2010-01-20 12:09 ubuntu下minicom的安装及使用
转http://hi.baidu.com/npugtawqdnbgqrq/item/106f805409b42813db163527 ubuntu下minicom的安装及使用 安装: sudo apt ...
- Ubuntu下git的安装与使用
Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...
- Ubuntu下Speedtest的安装
要安装Speedtest,需要先安装apache,参见<Ubuntu下Apache的安装>一文:*(再安装LAMP server,参见<Ubuntu下快速安装LAMP server& ...
- Ubuntu下Apache的安装
Ubuntu下可快速安装LAMP server(Apache+MySQL+PHP5),参见<Ubuntu下快速安装LAMP server>一文. 也可以手动安装Apache.本文介绍如何手 ...
- Linux(Ubuntu)下MySQL的安装与配置
转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...
随机推荐
- hdu 4864 任务分配贪心
http://acm.hdu.edu.cn/showproblem.php?pid=4864 有n台机器,m个任务,每台机器有xi时间,yi等级,每个任务也有xj,yj,当一个任务可以被处理的条件是, ...
- C# 使用Queue<T>代替递归算法遍历树
递归时候每次调用自身在堆栈上要记录返回地址,而堆栈的空间很少,调用次数多了后会产生堆栈溢出,以下代码是实际项目中,通过Queue<T>来避免递归算法的代码: /// <summary ...
- 使用 ipmitool 实现远程管理Dell 系列服务器
IBM 文档: http://www.ibm.com/developerworks/cn/linux/l-ipmi/index.html ipmi命令收集: http://hi.baidu ...
- Delphi IDHTTP控件:GET/POST 请求
Delphi IDHTTP控件:GET/POST 请求 最近一直在使用IDHTTP,下面是一些关于 GET.POST 请求基本使用方法的代码 一.GET 请求 1 procedure GetDem ...
- Linux Buffer/Cache 的区别
以前经常使用free -h命令来查看当前操作系统的内存使用情况,同时也注意过返回信息中有一列是buff/cache,来公司之前,面试官还问过我这两个的区别,当时没有回答出来,现在特意回顾记录下: ...
- min cost max flow算法示例
问题描述 给定g个group,n个id,n<=g.我们将为每个group分配一个id(各个group的id不同).但是每个group分配id需要付出不同的代价cost,需要求解最优的id分配方案 ...
- 自定义Chrome缩放比例
我想要设置Chrome页面缩放为120%,但是Chrome只提供110% 125%,根本没有让我舒心的缩放比例. 强迫症发作,谷歌了半天没有一个很好的解决方案. 虽然也有不少第三方扩展可以自定义缩放比 ...
- .net core Area独立成单独的dll文件
以前做MES项目遇到过这个情况,一个项目有7到8个大模块,生产.质量.物耗.电子看板.设备等,每个模块都有大量业务,这样使用mvc结构如果所有模块放在一个目录中,那么势必会产生很多问题,各模块代码不好 ...
- 在Winform中菜单动态添加“最近使用文件”
最近在做文件处理系统中,要把最近打开文件显示出来,方便用户使用.网上资料有说,去遍历“C:\Documents and Settings\Administrator\Recent”下的最近文档本.文主 ...
- WPF ListBox的进阶使用(二)
项目中经常使用需要根据搜索条件查询数据,然后用卡片来展示数据.用卡片展示数据时,界面的宽度发生变化,希望显示的卡片数量也跟随变化.WrapPanel虽然也可以实现这个功能,但是将多余的部分都留在行尾, ...