0%

计算的目的不在于数字本身,而在于洞察其背后的意义。对于行列式也是一样,行列式的背后的意义是什么呢? 之前学习了线性变换,以及用矩阵对线性变换进行数值化的描述。先说结论:线性变换改变的比例被称为这个变换的行列式。看看这条结论是如何得出的?以及行列式的计算方法几何直观推导。

接上一篇文章《线性代数的本质——矩阵与线性变换》, 当看到矩阵的时候,都可以认为是对空间的一种线性变换的数值化表示。本节的内容是矩阵乘法的本质是什么,矩阵乘法推导过程,并且通过矩阵乘法的本质去理解或者证明两个矩阵相乘不满足交换律,却满足结合律的原因。

变换类似于函数,输入参数值,输出结果。为什么习惯性称作为变换而不是函数呢?变换从某种意义来说是从几何直观呈现出变化。比如接收一个向量输入,得到一个向量输出。在几何空间中的可视化表达就是原向量转动、缩放得到输出向量。而线性变换就是这个转动与缩放的过程,此过程可以通过一个矩阵来进行数值化的精确表达。

本篇文章中引用了3Blue1Brown视频中的截图,也是线性代数系列的第一个小总结:理解什么是向量,向量的线性组合,什么是向量张成的空间,向量的线性相关性如何理解。最近更新线性代数的系列文章,强烈推荐 bilibili 上一位叫做 3Blue1Brown 的Up主,讲了很多数学方面的内容,而且讲述的角度非常独特,真正可以让人感觉到数学的魅力。

U8g2是嵌入式设备的单色图形库,主要应用于嵌入式平台,如Arduino、STM32。几乎所有Arduino API的主板都得到U8g2的支持,U8g2支持大多数主流的单色OLED和LCD显示控制器 。上图是ESP8266 NodeMCU通过U8g2在SSD1306(0.96寸 128X64)展示出的效果,物理总线使用的是I2C总线。

本文主要介绍Handle的原理、如何处理Handler可能导致的内存泄漏问题,需要深入理解Handler的机制,当我们在创建Handler的时候,要明白现在用的是哪个Looper?其他线程如何使用Looper进行通信,释放Looper的区别,以及HandlerThread的原理与用法等等内容。

Opencv作为图像处理开源库包含了Object Tracking目标追踪的一些API,使用Opencv能够方便快捷的编写目标追踪程序。OpenCV实现多种目标跟踪算法,只需要选择对应的跟踪器即可实现目标跟踪。纯应用而已,暂且不谈理论相关的内容。Demo是使用KCF跟踪器对视频中的汽车进行目标跟踪。