0%

JAVA OpenCV 入门

网上 JAVA 学习 OpenCV 的知识太少,自己通过学习把整理的示例,参数说明放在这里,大家一起互相学习。主要通过 OpenCV3.x 的官方开发文档,实体书等自学。在内容中加了大量注释起到一起学习,互相沟通的作用。函数讲解,案例代码内容我均整理在 GitHub【OpenCV3-Study-JAVA 】上

开发环境及IDE

  • JDK 1.8
  • OpenCV 3.4
  • MacOS Sierra 10.12.4
  • IDEA 2017

主要参考:

OpenCV 安装

  • MacOS 安装 OpenCV JAVA 版
  • MacOS 安装 OpenCV Python3 版(暂无)
  • Window 安装 OpenCV JAVA 版(暂无)
  • Window 安装 OpenCV Python3 版(暂无)

章节目录

+————————————————————————–+

所有示例均放在 src/test/java/opencv/study 目录下

+————————————————————————–+

  1. StudySection_1 ———– 认识 Mat 对象,创建图像矩阵

    • 创建 Mat 对象,Mat 对象的参数介绍
    • 通过Matlab 创建 Mat 对象
    • 创建彩色图像
    • 创建透明图像
    • 期望值来创建随机的初始化矩阵图像
  2. StudySection_2 ———– 图像的读取、图像 ROI 区域的使用

    • 图像的读取
    • 对 ROI 区域描边
    • 截取 ROI 区域
    • 用图片在原始图片上划定 ROI 区域,并替换
  3. StudySection_3 ———– 矩形、颜色空间转化

  4. StudySection_4 ———– 绘图像(直线、矩形、圆形、椭圆等)

    • 画椭圆
    • 画实心圆
    • 画线
    • 画矩形
    • 结合例子
  5. StudySection_5 ———– 图像空间压缩

  6. StudySection_6 ———– 图像线性混合、通道拆分合并、离散傅里叶变换

  7. StudySection_7 ———– 图像滤波

    • 3种线性滤波
      • BoxBlur – 方框滤波
      • Blur – 均值滤波
      • GaussianBlur – 高斯滤波
    • 2种非线性滤波
      • medianBlur – 中值滤波
      • BilateralFilter – 双边滤波
  8. StudySection_8 ———– 图像腐蚀(erode)、膨胀(dilate)、查找条形码案例。

  9. StudySection_9 ———– 形态学滤波(开、闭运算、顶帽等)、识别图中二维码案例

    • 对本章节内容学习深入不够,图像的专业知识0-较多,后续随着业务的深入再回头来深入理解
  10. StudySection_10 ———– floodFill(漫水填充)、图片的放大缩小 pyrUp、pyrDown、Resize

  11. StudySection_11 ———– threshold 固定阈值操作、adaptiveThreshold 自适应阈值操作

  12. StudySection_12 ———– Canny 算法、Sobel 算法、Laplacian 算法、Scharr 滤波器

    • Sobel 、Laplacian 、Scharr 后续研究,看了教程与官网内容,属于边缘使用场景