主页

OpenCV 基础篇 —— JPEG 编码

前言

我们常见的图片封装格式有 jpeg, png 和 webp, 其中 jpeg 和 webp 为有损封装格式

这里主要介绍一下 jpeg 的编码流程

一. 色彩空间的转化

  • 将图片分割成为 8x8 的小方格(即 64 个像素的小方格), 每个小方格都会被单独处理
  • 将 RGB 颜色空间对应的 3 个 8x8 的矩阵 -> YCbCr 模型的 3 个 8x8 的矩阵

色彩空间的转化

阅读更多

OpenCV 的集成

OpenCV

https://opencv.org/

OpenCV 源码

https://github.com/opencv/opencv/releases

  • 下载 opencv-3.4.4-android-sdk.zip

阅读更多

Android 系统架构 —— View 的事件分发

前言

View 的事件分发是我们在自定义 View 必须要掌握的技术点, Android 是支持多指触控的, 一个完整的事件序列如下

DOWN ... MOVE ... POINTER_DOWN ... MOVE .... POINTER_UP ... MOVE .... UP

可以看到一个事件序列从 Down -> UP 的过程中存在多个连续的 MOVE 事件, 若有其他手指参与还会存在 POINTER_DOWN 和 POINTER_UP 事件

  • 一个 DOWN/POINTER_DOWN 称之为焦点事件, 在 MotionEvent 中用 PointerId 描述

好的了解了这个基础知识之后, 我们从 ViewGroup 的 dispatchTouchEvent 开始看看一次事件分发的流程

阅读更多