最近在调研嵌入式脚本语言,发现Lua很适合在嵌入式平台运行。第一次认识Lua是在Torch,lua的解释器源码只有几百K,从未见过如此轻巧的脚本语言。Lua是类C的,所以上手超级快。
这篇博客主要涵盖以下几个方面:lua语言(主要是语法相关的资料)、lua的编译、lua与C/C++交互、lua的调用开销。
a blog driven by interest~
最近在调研嵌入式脚本语言,发现Lua很适合在嵌入式平台运行。第一次认识Lua是在Torch,lua的解释器源码只有几百K,从未见过如此轻巧的脚本语言。Lua是类C的,所以上手超级快。
这篇博客主要涵盖以下几个方面:lua语言(主要是语法相关的资料)、lua的编译、lua与C/C++交互、lua的调用开销。
在OpenCV4中,移除了原来的C接口,这也导致我们在迁移过程中,一些宏和图像代码找不到,比如CV_GRAY2GBR、AA、CV_INTERLINER这种,常常让人摸不着头脑。简单的说下这些问题的解决方法主要有以下几种:
简单的说,就是opencv3及之前,cv::divide函数在遇到分母为0的情况时,对应元素的输出都是0。而到 … 阅读更多
随着OpenCV4.0.0的正式Release,OpenCV已经走过了18个年头,OpenCV4中加入一些有意思的新算法,其中就包括二维码识别。OpenCV的二维码识别究竟如何呢?和其它开源二维码识别库相比有哪些优劣呢?博主将带你简析代码,分析性能。
OpenCV4.0.0正式release了,其中加入了二维码识别功能,有幸博主最近开始折腾二维码识别,发现二维码的核心就是那三个定位点和辅助对齐点。ZXing和OpenCV都是通过二维码定位点的11311来进行定位的,这是利用了二维码最显著的特征。但是博主会处理一些变态的情况,比如过曝光到11311定位点无法找到(即图像中定位点的黑白间隔不是1:1:3:1:1),于是就需要通过其它方法来找定位点了。一个标志识别库摆在眼前:AprilTag。(OpenCV中集成了类似的库,似乎叫做ARTag,没研究过)
AprilTag诞生于2011年的一篇论文,2016年出了AprilTag2,但是16年的论文感觉没讲啥,再加上看的cpp代码是2013年的,于是这篇博客就对着2013版本来讲好了,我们开始吧。
产生该错误的原因是matplotlib的代码维护者希望他们的代码干净,就把这种sidepackage给移除了, … 阅读更多
上一篇博客是《基于最小二乘法的椭圆拟合》,这篇博客介绍另外一种方法。由于现在正处在人生的特(工)殊(作)时(太)刻(忙),所以没怎么写,主要还是贴论文。
不同于最小二乘法直接拟合椭圆方程,论文中通过惯量矩,来预测角度、长轴、短轴,结合中心,来计算得到椭圆参数。实际工程实践中采用游程编码表示区域,该方法亦是Halcon中计算区域等效椭圆的方法,详看论文,谢谢。
这篇文章是 least-squares fitting of circles and ellipses 这篇paper的导读。我们如何使用最小二乘法去拟合圆和椭圆呢,当我们用“代数方程”来表示圆时,我们最小化这个目标函数的实际意义是什么呢?我们按照这个方程得到的结果却不一定是合适的。我们实际上想要的是实际中每个点,到该曲线上的距离最小。
于是,我们按照一个“几何方程”来进行构造。这个几何方程描述的优化方向是,每个点到曲线的距离最小。我们使用雅可比矩阵QR分解来解算圆的参数,对于椭圆参数,存在更多情况,看Paper吧:
工作之后时间越来越少,也在思考繁忙之下自己是否仍对技术拥有热情。答案是肯定的,并且,身处这个行业,也是需要不断学习的,积少成多,滴水穿石。之前写博客,或多或少想分享些有用的东西,现在环境的改变已经使得这些越发困难了,但是仍可以通过博客记录自己学习和成长的脚步。以下是来自繁忙生活中一份简简单单的笔记:
Jacobian矩阵包含了我们需要计算输出和输入的所有偏导数,这样的矩阵被称为Jacobian矩阵。
或许我们只对其中的二阶导数感兴趣,或许因为高阶导数计算量过大,所以我们使用Hessian矩阵,该矩阵包含了一个函数的所有二阶导数。
使用CMake组织工程已经成为习惯,因为在许多场合,跨平台与协作开发显得尤为重要。摘抄一些常用的Cmake信息,以随时查阅。
近期,央行重启逆周期因子,人民币兑美元汇率从6.95一路走高,到达6.8,通过了解逆周期因子和人民币汇率形成机制,可以分析判断出汇率走势。
811汇改以来,人民币汇率形成机制经历了五次变化:
每当经济发展遇到问题时,美联储都会从工具箱掏出一系列工具来应对。在2008年开始的衰退中(次贷危机),美联储采用了包括前瞻指导和量化宽松在内的一系列工具,避免了1929年式的大萧条。这篇博客就主要从宏观经济学角度介绍流动性陷阱、前瞻指导和量化宽松。(最近美联储考虑取消前瞻指导)
很久没写博客了,技术博客再开!
进入新环境,适应段时间之后又开始了新的学习。Cmake是编程领域重要的工具。这篇博客就介绍从零开始的cmake教程。
补:又发现一个简介明了的cmake教程http://www.hahack.com/codes/cmake/。