opencv Java基础环境搭建及so编译
 2018-08-04 05:40:11   547   0   

本文最后更新于天前,文中介绍内容及环境可能已不适用.请谨慎参考.

最近研究了下图像识别相关的东西,

需要识别身份证及驾驶证。

之前就有预研过opencv, 这次就顺便吧tesseract,ocr加上一起来个整合。

虽然这两个以C为主要使用语言,但是本文主要从java角度来记录及总结.

一.opencv下载安装

1.1 下载安装,

从下面官方提供的地址下载安装,我用的是window版exe安装文件.

 官方下载地址https://opencv.org/releases.html

1.2 Doc,

关于使用说明,参考官方doc文档

基本上先看c版的,里面有详细说明及例子

https://docs.opencv.org/3.4.2/   ,这个界面有个搜索功能,比较好用

然后再找下面

java版的对应文档

https://docs.opencv.org/3.4.2/javadoc/index.html

 For JAVA 配置 及linux so文件生成

我们关注的java里面如何使用,这个也有一个比较全的入门文档

http://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.html

将上文提到的下载的exe解压至本地目录后,

查看目录   \解压目录\opencv\build\java

这里有一个 opencv_xxx.jar 及x86/x64目录,里面有对应版本的dll

Java使用需要的就是这个jar及dll。

 

so文件编译

当然如果linux下面需要可以参考这个手动build so文件

http://opencv-java-tutorials.readthedocs.io/en/latest/01-installing-opencv-for-java.html#install-opencv-3-x-under-linux

其中提到的cmake-gui如下安装.

#centos
yum install cmake-gui
#centos下configure如果出错 还需要这个.
yum install gcc-c++


#ubuntu
apt-get install cmake-qt-gui

然后启动cmake-gui,填入opencv源码目录及编译目录后,如下配置

在 Ungrouped Entries 组填入ant的执行路径

在 BUILD 组取消下面的编译选项

BUILD_PERF_TESTS

BUILD_SHARED_LIBRARY to make the Java bindings dynamic library all-sufficient

BUILD_TESTS

BUILD_opencv_python

在 CMAKE 组,  CMAKE_BUILD_TYPE 填入 Debug (or Release

在Java组,配置对于的路径,一般都会自动配置好.

最后点击两次Configure,全部选项都变为白色即配置完成,然后点击生成按钮.

切换至build目录,运行make即可。最后再bin目录生成jar文件,lib目录生成so文件

这里需要注意gcc的版本,高版本下编译的so在低版本环境可能无法运行,推荐使用低版本的gcc编译。

 

 

在eclipse里面使用opencv 

自定义用户lib,选择外部jar包(External jars)位置,编辑native library选择外部dll位置,即可.

 

如果使用idea则指定

VM argument -Djava.library.path=/opencv/build/lib.

 

 first opencv project for java

配置好后,新建一个project,引入自定义lib

即可开始使用opencv

开始需要先加载opencv lib

然后读取图片,转换为灰度图片保存

String file = "F:\\IMG\\xiaofang.png";
		String fileout = "F:\\IMG\\xiaofang_gray.png";
		// read the image in gray scale
		Mat image = Imgcodecs.imread(file,
				Imgcodecs.CV_IMWRITE_PAM_FORMAT_RGB_ALPHA);

		Mat grayImage = new Mat();
		Imgproc.cvtColor(image, grayImage, Imgproc.COLOR_BGR2GRAY);

		Imgcodecs.imwrite(fileout, grayImage);

结果:

 

 JavaFX安装

官方入门代码使用了java Fx界面框架,所以我们也有必要安装下。

用过了发现这个东西还是很不错的,感觉跟android也差不多,也突然找到点当初c# winform和wpf的感觉,哈哈

使用eclipse安装如下 e(fx)clipse 组件


 2018-09-01 08:07:49 
 2

  本文基于CC BY-NC-ND 4.0 许可协议发布,作者:野生的喵喵 固定链接: 【opencv Java基础环境搭建及so编译】 转载请注明



发表新的评论
{{s_uid}}   , 欢迎回来.
您的称呼(*必填):
您的邮箱地址(*必填,您的邮箱地址不会公开,仅作为有回复后的消息通知手段):
您的站点地址(选填):
留言:

∑( ° △ °|||)︴

(๑•̀ㅂ•́)و✧
<( ̄) ̄)>
[]~( ̄▽ ̄)~*
( ̄ˇ ̄)
[]~( ̄▽ ̄)~*
( ̄ˇ ̄)
╮( ̄▽ ̄)╭
( ̄ε(# ̄)
(⊙ˍ⊙)
( ̄▽ ̄)~*
∑( ° △ °|||)︴

文章分类

可能喜欢 

KxのBook@Copyright 2017- All Rights Reserved
Designed and themed by 野生的喵喵   1620025   44868