Java应用OpenCV指南其一:在Java中安装与配置OpenCV
来源:互联网 发布:ipad怎么在淘宝找微淘 编辑:程序博客网 时间:2024/05/18 00:43
Java应用OpenCV指南其一:在Java中安装与配置OpenCV
因为之前我在读研期间学习java的过程中花了一段时间学习模拟登陆方面的知识,对登陆过程中的验证码问题有些兴趣。于是花了一段时间研究验证码识别技术,也是经过同学的推荐认识了OpenCV。
不过由于之前我一直使用Java的开发环境,而网上可以找到的详细OpenCV教程几乎都基于C++,应用起来的过程十分痛苦。不过经过一段时间的摸索和学习,我总算积累了一些再java环境下应用OpenCV进行图象处理的知识。现在写下来,一方面是分享经验,另一方面也是为自己前段时间的工作做个总结。
我使用的OpenCV版本是3.3,写下这篇文章的时候官网已在更新3.4版本。
首先是环境配置,这方面网上可以找到一些,在这里我记录一下自己的配置过程。
安装环境:Eclipse 、java 1.8.0
下载OpenCV
在官网上下载Windows版本的OpenCV然后下载下来
然后根据个人习惯解压到指定位置(如F:\tools)打开Eclipse,依次选择【Window(窗口)】->【Preferences(首选项)】,在弹出的窗口中选择【Java】->【BuildPath(构建路径)】->【User Libraries(用户库)】,在右侧点击【New(新建)】,在弹出的窗口中输入库名,建议输入名称加版本号便于区分(如opencv3.3.0),完成后确定,可以看到刚刚新建的库。
选中刚刚新建opencv3.3.0,【Add External JARs(添加外部JAR)】,选择下载的OpenCV目录下jar文件的路径(如F:\tools\opencv\build\java\opencv-330.jar),成功添加后展开opencv3.3.0库,选中Native library location(本机库位置),然后点击右侧【编辑】。注意自己机器的操作系统,以我为例
64位添加至:F:\tools\opencv\build\java\x64
32位添加至:F:\tools\opencv\build\java\x32
点击确定完成。在项目中引入OpenCV
配置完成后就可以向项目中引入OpenCV了。点开需要引入的项目在文件夹上点击右键选择【Build Path(构建路径)】->【Add Libraries(配置构建路径)】,在窗口中选择【库(Libraries)】->【Add Library】,然后选择【User Library(用户库)】->【Next】,可以看到我们之前创建的库,选择它,点击【Finish】。
1)
2)
3)
4)
添加后库文件会默认沿用上面做的配置,如果没有的话右击项目中的OpenCV库文件,选择【BuildPath(构建路径)】->【Add Libraries(配置构建路径)】重复上面第三步的操作即可。至此OpenCV就配置完了,如果你还下载了OpenCV的架包的话,也可以添加在库文件中的源代码链接中。- 测试
配置完成后可以用一段代码测试OpenCV的可用性:
package opencv;import org.opencv.core.*;public class one {static{System.loadLibrary(Core.NATIVE_LIBRARY_NAME);}; //用来调用OpenCV库文件,必须添加 public static void main(String args[]){ Mat a=Mat.eye(3, 3, CvType.CV_8UC1); //输出一个3X3的对角矩阵 System.out.println(a.dump()); }}
输出结果:
创建矩阵时的第三个参数为类似CV_8UC1,CV_8UC2,CV_16UC3这样的值,作用是设置矩阵中每个点的位数和通道数。
8代表8bite,16为16bites等等,如果你现在创建了一个存储灰度图片的Mat对象,这个图像的大小为宽100,高100,那么,现在这张灰度图片中有10000个像素点,它每一个像素点在内存空间中所占的空间大小是8bite,8位。所以它对应的就是CV_8。
第一个字母可以为S|U|F。S代表signed int,有符号整形;U代表unsigned int,无符号整形;F代表float单精度浮点型;
第二个字母C代表一张图片的通道数,1为灰度图片grayImg,是单通道图像;3为RGB彩色图像,是3通道图像;4为带Alph通道的RGB图像,是4通道图像。
OpenCV中操作的基本单位是矩阵(Mat),关于矩阵的基本操作我们之后再说。
- Java应用OpenCV指南其一:在Java中安装与配置OpenCV
- 【Java+OpenCV】安装与配置
- java配置opencv-在eclipse中
- 在Eclipse中配置使用Java OpenCV
- java配置opencv-在eclipse中
- JAVA在eclipse中配置Opencv
- java配置opencv-在eclipse中
- Java+Eclipse 在eclipse中配置OpenCV
- Java应用OpenCV指南其二:OpenCV组件浅析
- Java应用OpenCV指南其三:OpenCV中的图像操作
- Java开发Opencv之(一)开发环境安装与配置
- OpenCV安装与配置
- OpenCV安装与配置
- eclipse中OpenCV安装指南
- Opencv在eclipse(Java)的配置方法
- Java应用OpenCV指南其五:图象滤波
- opencv for Java在MacOS 10.10安装
- 安装opencv,在vs2010配置opencv
- 【转】pandas DataFrame 逐行操作(可修改数据)
- 洗扑克牌问题
- 浅谈HTTPS以及Fiddler抓取HTTPS协议
- 编程(1)-字符编码
- java高级特性之泛型
- Java应用OpenCV指南其一:在Java中安装与配置OpenCV
- 在微信公众号中如何添加【自定义菜单】,原创图文教程
- Spring配置 <context:component-scan/> <mvc:annotation-driven />
- oracle 按每天,每周,每月,每季度,每年查询统计数据
- 基于FFmpeg的视频推流
- alibaba java coding Guidelines阿里巴巴代码规范指南插件的集成方法以及些小细节
- vscode, sublime, atom的快捷设置
- 非递归实现二叉树的后序遍历、前序遍历、中序遍历
- js 正则表达式判断非法字符 常用正则表达式