0%

GNU Octave是一种以高级编程语言为特色的软件,主要用于数值计算和绘图。通过Octave可以非常方便的进行矩阵运算、求解联立方程组、计算矩阵特征值和特征向量等。本篇文档主要内容是Octave基础命令、数据格式、绘制图形、Octave脚本编写、Octave函数编程等内容。另外,此文档会不断补充常见使用场景。

阅读全文 »

证明的过程非常简单,那就是如何通过积分的思想来证明圆的面积公式。不过与其这样表达倒不如说是通过圆的面积公式来体会体会积分的思想。首先把整个圆看成是无数个同心圆环组成的图形,只要把每个圆环的面积相加,就会得到最终的面积。

阅读全文 »

感觉时间过得真快呀,一晃就是一年,能记录岁月的东西除了照片就是这个博客了。从2022年开始,决定少熬夜要早起,规律作息(说实话是因为我居然长了白头发,大约有20 - 50多根白头发,一个23岁的翩翩少年居然长了白头发,简直不能忍受,所以决定规律作息)。没错,今天就起的很早!但是女朋友还在睡觉!

阅读全文 »

OpenCV身份证离线识别技术实战的终章,首先是集成tess-two到Android完成离线OCR,然后再移植从图像预处理的代码移植到Android上, 这两件事情完成便搞定了身份证号码离线识别的功能了。最后思考一点:如果身份证图像不是正放的应该怎么处理呢?

阅读全文 »

OpenCV身份证离线识别技术的主要技术就是通过OpenCV找到身份证号码区域,然后通过OCR进行数字识别该区域的截图即可得到身份证号码。本地ORC使用tess-two来完成,Tesseract是C++实现的OCR引擎,在Android中使用不是很方便,需要封装JavaAPI才能在Android平台中进行调用,然而tess-two已经帮我们做好了这些事情,通过集成tess-two就可以很方便的完成文字识别。

阅读全文 »

Jetpack中有多组件时专门为了MVVM架构而量身打造的组件,MVVM被广泛应用与Android开发中。Vue通过ViewModel实现了双向绑定(也是一种MVVM架构),而开发者只需要处理和维护ViewModel,更新数据视图就会自动得到相应更新,真正实现了事件驱动编程。那么本篇来看看什么是MVC、MVP、MVVM,以及什么是事件驱动编程。

阅读全文 »

偶尔在Android中有看到有一段捕获OutOfMemoryError的代码 (View的buildDrawingCacheImpl方法),不禁想到难道OutOfMemoryError也能被try-catch?其实还真的可以,但是只有在特定场景下捕获OOM才是有意义的,下面主要来看看Java抛出OOM的场景以及何时可以捕获OOM。

阅读全文 »

这次依旧是通过线性变换来了解逆矩阵、列空间、秩和零空间的概念。注意其中并不会讨论计算方法。首先我们能体会到了用矩阵来描述对空间的线性变换,线性代数不但在计算机图形学和机器人学中非常有用,还能帮助我们求解线性方程组,那就先从恒等变换和线性方程组的关系开始吧!

阅读全文 »

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

阅读全文 »

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

阅读全文 »