Maven
Maven是专门用于管理和构建Java项目的工具。 Maven他的主要功能有: 提供一套标准化的项目结构: 所有的IDE使用Maven构建的项目完全一样,IDE创建的Maven项目可以通用。如下图就是Maven构建的项目结构: 标准化的构建流程: 代码需要进行编译、测试、打包、发布,这些操作如果需要反复进行就显得特别麻烦,而Maven提供了一套简单的命令来完成项目构建。 依赖管理: 依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件)。如之前我们项目中需要使用JDBC和Druid的话,就需要去网上下载对应的依赖包,复制到项目中,还要将jar包加入工作环境这一系列的操作。 而Maven使用标准的 坐标 配置来管理各种依赖,只需要简单的配置就可以完成依赖管理。 Maven简介Maven模型 紫色框框起来的部分,他就是用来完成标准化构建流程 。如我们需要编译,Maven提供了一个编译插件供我们使用,我们需要打包,Maven就提供了一个打包插件提供我们使用等。 ...
JDBC
现在企业早就不使用这种繁琐的技术了,但是学过了JDBC才能更好的理解后面的开发框架。 JDBC JDBC是一款使用 Java语言赖操作关系型数据库的一套API;它为不同的关系型数据库提供了一套标准的API接口。 JDBC快速入门(1)导入驱动包:操作哪个关系型数据库就需要导入该数据库的驱动包。将mysql驱动包放在模块的lib目录下,并添加为库文件; mysql驱动jar包下载地址:https://dev.mysql.com/downloads/connector/j/ (2)代码步骤: 12345678910111213141516171819202122public class JDBCDemo { public static void main(String[] args) throws ClassNotFoundException, SQLException { // 注册驱动(可省略) ...
Android平台JNI开发保姆级教程
最近项目中在Android移动端需要用到音视频处理的部分,这离不开FFmpeg工具。但是FFmpeg源码是C语言,想要在Android java中调用FFmpeg工具,这就需要Android NDK登场了。 Android平台JNI开发保姆级教程前提条件 FFmpeg源码:可以在官网下载,目前我是用的是最新版的6.0版本(只下载源代码即可,不要下载已经编译好的在不同平台可以运行的安装包)。 Android NDK:可以在官网下载,但更推荐在Android Studio中的Setting中可以直接下载NDK对应版本,我这里使用的是22.1.7171670版本的NDK(建议不要使用太新的NDK,否则可能会出现一些BUG)。 安装msys2:由于我是在Windows下对FFmpeg源码进行交叉编译,所以需要一个类Unix环境;或者你可以直接使用linux操作系统。 ...
OpenCV特征检测
前段时间毕设在研究Android开发,以及对第三方库的JNI编程和交叉编译,本想把FFmpeg和JNI先整理成博客发出来,奈何实在太懒了,可能还要过一段时间才能整理完了。正好这几天项目里用到了OpenCV里Detection的一些算法,就去学习了一下。 [OpenCV]Canny边缘检测、HoughLinesP直线检测边缘检测Edge detection 边缘检测算法是指利用灰度值的不连续性质,以灰度突变为基础分割出目标区域。大概原理是计算图像中每个像素点的梯度值和梯度方向。使用边缘检测算子计算图像在x和y方向上的一阶导数,然后计算每个像素点的梯度幅值和梯度方向;再利用NMS和阈值检测将边缘点标记和连接。 最后的输出一定是一个二值图像,其中白色像素表示边缘,黑色像素表示非边缘。 Canny边缘检测算法的优点是能够检测到比较细的边缘,且对噪声比较鲁棒。 1234567Canny算法参数: InputArray image, //输入图像,要求为灰度图 OutputArray edges, //canny检测后的输出图像 ...