JavaCV入门教程

一、准备软件

(一)准备javaCV     直接官网下载(opencv.org),获得一个叫【opencv-3.1.0.exe】的文件。别运行【右键—解压到当前文件夹】,获得一个【opencv-3.1.0】的文件夹。

(二)准备JDK8    这个就不用多说了吧,因为跑javaFX要jdk8.

(三)准备JavaFX    因为官网的Demo是javaFX写的GUI,必须要JavaFX 。也可以自己用Swing重写GUI。这个不用下,就在jdk8目录下就有。

(四)准备IDE,推荐使用MyEclipse2013。

(五)下载官网Demo   地址【http://opencv-java-tutorials.readthedocs.io/en/latest/】全洋文,看不懂可以用谷歌浏览器的全文翻译。打不开的可以用蓝灯代理。

二、配置环境

(一)导入官方Demo  打开MyEclipse2013,【资源管理器空白处—右键—导入—选中现有项目到工作空间—下一步—浏览—找到demo的目录—完成】

(二)配置jdk环境  【窗口—首选项—java—已安装的jre—添加—把jdk8添加进去】

(三)配置javaCV    【窗口—首选项—java—构建路径—用户库—新建—输入javacv—确定—选中javacv—添加外部jar—选中[opencv-3.1.0\opencv\build\javaopencv-310.jar]】【展开javacv—本机库位置—编辑—外部文件夹—选中[opencv-3.1.0\opencv\build\java\x86\ opencv_java310.dll]】 

(四)配置javaFX   找到[jdk1.8.0_91\jre\lib\ext\jfxrt.jar] 添加进构建路径

(五)更改系统库为jdk8   这个也不废话了,到这里就可以直接运行了。

三、JavaCV的一些知识

Mat类表示一个图片矩阵,要处理的图片都要读进这个矩阵中。

VideoCapture类表示一个视频对象,它的open()方法传视频地址就是打开视频,传设备号就是打开摄像头。

其它官方Demo上都有说明,想玩三维重建的去学OpenGL,java平台叫JOGL,网上没什么教程。Java3D也可以,也没什么教程

官方API:http://docs.opencv.org/

(四)图片的一些必备知识

(一)图像的认识

图片分矢量图和像素图图,矢量图是由数学表示,比较抽象,不太好理解,比如你脑海里想象一个四边形,这个四边形就是矢量的。CDR、CAD处理的图像就是矢量图,因为是数学表示的,可以无限放大和缩小,不会产生锯齿。像素图是由矩阵的像素点组成,每个像素点就是个小方块,每个方块只能显示一种颜色,单位面积内像素点越密集,图像越清晰。但是放大以后因为像素点是方形的,所以能看见锯齿。PS软件就是处理像素图的。JavaCV也是典型的像素图处理软件,通过相机、摄像头获取到的图片都是像素图。

(二)像素点的认识

像素点每次只能显示一个颜色,颜色由3基本色(RGB)或者4基本色(CMYK)组成,在任何设备彩色屏幕上显示的都是RGB像素,彩色打印机打印的是CMYK色。这就是为什么在电脑上显示的颜色和打印出来的颜色有小许不同。JavaCV主要算法就是计算像素点的颜色,通过各种数学变换得到相似度一类的。笔者个人认为这种方式太牵强,还是要在矢量图上下功夫才行,因为大脑内的所有图像都是矢量的。(个人意见,勿喷,要脸)

(二)视频的认识

视频由图片组成,一帧代表一张图片,帧率就是指每秒切换多少张图片。

(PS.水平有限,欢迎批评指正!)




你可能感兴趣的:(JavaCV入门教程)