简单的说,就是opencv3及之前,cv::divide函数在遇到分母为0的情况时,对应元素的输出都是0。而到了opencv4则不是这样,更加严谨的做法时将divide的输出元素置为NaN(一个数除以0是没有意义的),这样更加合理和科学。而如果我们之前使用时没有注意,那么在迁移过程中可能会导致程序出错,解决方法就是使用cv::patchNaNs 函数将NaN元素替换为固定值。…

OpenCV4.0.0正式release了,其中加入了二维码识别功能,有幸博主最近开始折腾二维码识别,发现二维码的核心就是那三个定位点和辅助对齐点。ZXing和OpenCV都是通过二维码定位点的11311来进行定位的,这是利用了二维码最显著的特征。但是博主会处理一些变态的情况,比如过曝光到11311定位点无法找到(即图像中定位点的黑白间隔不是1:1:3:1:1),于是就需要通过其它方法来找定位点了。一个标志识别库摆在眼前:AprilTag。(OpenCV中集成了类似的库,似乎叫做ARTag,没研究过)

AprilTag诞生于2011年的一篇论文,2016年出了AprilTag2,但是16年的论文感觉没讲啥,再加上看的cpp代码是2013年的,于是这篇博客就对着2013版本来讲好了,我们开始吧。…

时间就像一条河流,在这我们顺流而下,遇到现实,需要决策,但我们无法停留,也无法回避,只能以最好的方式应对。

BridgeWater,桥水基金目前已经是世界上最大的对冲基金公司。股票、基金、债券、指数、杠杆、做空、对冲、期货、期权,金融场上的每一次交易都是一次押注,桥水在成为世界上最大对冲基金公司的赌途中赢多输少,如何做决策是一个问题,RAY·DALIO,愿意将其工作和生活的原则分享出来,博主甚是喜欢。接下来一个系列就是围绕这本书了,请多多指教。…

维护一份注释就可以维护一份文档,我们需要Doxygen!我们见过opencv、pcl等很多开源库的代码和网站,他们的代码文档都是doxygen生成的,就像title图中那样。

这篇博客简单介绍doxygen使用的注意事项,后面C++风格注释部分摘抄了这篇博客中的内容。欢迎访问原博客。…