- 博客(15)
- 收藏
- 关注
原创 Git本地排除:在本地或者在提交时排除某文件夹
在多人协作的项目中,通常最好是通过沟通来确定一个公共认可的.gitignore规则。本文大部分是用于本地排除只定文件夹。
2024-03-27 18:47:24
4486
原创 Tikhonov正则化详解
关于线性回归与非线性优化方向的工作,很多时候需要面对数据噪声,过拟合等问题,实测使用Tikhonov正则化可去的较好的效果。Tikhonov正则化的发音为 ti−khuh−nawf。在中文中一般写作 "提赫诺夫"。
2024-02-24 00:00:00
6196
原创 Ceres-solver正则化构建残差函数
本例中图像分辨率为1920×1080,图像的cxcy偏差可达100像素,对应的重投影误差的残差约为0.1-1pixel,因此λ≈0.01,实测在此范围取值可达到比较好的效果。尝试降低多项式的阶数,如从五次多项式降至三次或四次多项式,这样既可以减少优化变量的数量,也有助于避免过度复杂的模型带来的问题。但需要注意的是,全局优化方法可能需要更多的计算资源和时间。: 先固定一部分内参不变,只优化畸变参数或其他随焦距变化的参数,然后逐步加入其他内参的优化,逐个解决各个子问题,最后联合优化所有参数。
2024-02-23 14:10:19
1320
原创 跨平台编译C/C++输出日志到安卓logcat
Android Studio中我们习惯了在logcat查看日志,c/c++的printf()在logcat中并不会显示。本文的jni环境是xmake+ndk。
2023-09-07 20:30:00
644
原创 投影仪+结构光深度相机联合标定实现触控思路
针对单个模组,可得到4点的投影面坐标(已知投影面长宽,后续可以设置归一化因子,通过深度值计算得出投影面长宽)和对应的深度图(图像uv)坐标及深度值,可通过求解PnP问题计算Rt矩阵,OpenCV中cv::solvePnP,使用P3P输入4组点,3组求出多个解,第四组确定最优解。输入深度图中识别的触墙物体点Ph坐标及深度值(u,v,,z),即可得到投影面坐标系中的点Pw(xw,yw,zw),xw与yw即为投影面坐标值。其中s为K中的倾斜因子,一般取零,具体值可查阅给定的内参矩阵。
2023-08-14 19:30:00
759
原创 GitLab+xmake跨平台快速编译测试
本文记录C++算法开发移植到安卓平台的工具和过程。__ANDROID__ 是一个预定义的宏,在Android平台下会被自动定义,在非Android平台下则不会被定义。因此,通过检查该宏是否被定义,可以判断当前是否在Android平台下进行编译。其中 cmake的android插件定义的名称为__ANDROID__,xmake 中自行定义也统一为该宏名称。#ifndef __ANDROID__ //判断是安卓则跳过,需安卓端编译时加入逻辑判断#endif。
2023-08-12 07:15:00
213
1
原创 张正友标定法公式推导
最近使用平面配准和立体配准进行深度图和彩色图的双目匹配,重温一遍张正友标定法,记录公式推导要点。在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立相机成像的几何模型,这些几何模型参数就是相机参数。在大多数条件下这些参数必须通过实验与计算才能得到,这个求解参数(内参、外参、畸变参数)的过程就称之为相机标定(或摄像机标定)。
2023-08-11 19:15:00
194
原创 基于BOW(词袋)的暴力匹配算法中的极线约束
极线约束描述的是当同一个点投影到两个不同视角的图像上时,像点、相机光心在投影模型下形成的约束。这些术语都是人为定义的,方便业内人士交流而已。如果世界点P(未知)在image。换句话说,P2e2是P1的极线,P1e1是P2的极线。这就是极线约束,可以缩小特征点匹配时搜索范围。被称为极平面,极平面与像平面image。被称为基线,基线与像平面image。已知),那么世界点P在image。如图所示, 两个相机光心连线为。
2022-12-21 14:36:09
295
原创 SLAM中使用Kanade-Lucas-Tomasi(KLT)光流法进行位姿计算
跟踪的方法其实有很多,如粒子滤波(pf)、meanshift跟踪,以及KLT跟踪或叫Lucas光流法,这些方法各自有各自的有点,对于粒子滤波而言,它能够比较好的在全局搜索到最优解,但其求解速度相对较慢,由于其是基于颜色直方图的计算,所以对相同颜色东西不太能够区别,meanshift方法很容易陷入局部最优,但速度还是挺快,所以现在很有一些人是将meanshift跟pf结合做跟踪,恰好在很多方面能够互补。这个式子的含义,即找到两副图像中,在W窗口中,I、J的差异,其中I以。2)时间连续或者是运动是“小运动”
2022-12-01 13:12:31
903
原创 C++下的OpenCV中Mat类型存储的图像格式
在调用CV进行图像处理时,经常涉及图像格式转换,经常出现原始图像输入后CV_32F与ushort之间的数据差异导致程序报错,可进行对应的类型转换
2022-11-16 17:51:06
1824
原创 pycharm配置anaconda: can‘t open file ‘create‘: [Errno 2] No such file or directory
电脑新安装了anaconda和pycharm,并且在anaconda中配置了python2.7在配置python解释器时报错:anaconda\envs\py27\python.exe: can't open file 'create': [Errno 2] No such file or directory按照网上的教程设置python.exe一直改不好,后发现是需要配置conda.exe按照如下路径操作: 将Conda executable改为conda.exe的路径 使用之前创建的python2.7的
2022-06-29 11:41:50
22567
7
原创 Googlevoice号码转移教程
一、首先登录Gmai账户 (Google voice)二、切换到老版本三、点击你要转移的号码四点击transfer五选中你要转移过去的账户
2019-05-08 09:20:33
7095
原创 Googlevoice保号——使用Google Drive里的脚本功能实现Googlevoice消息的自动回复
由于GV号超过6个月不使用会自动销号,因此使用gmail+Google Drive设置自动回复。需要先设置Google Voice短信转发到Gmail邮箱,设置方法如下:登录Google Voice,Settings—>Settings—>Forward messages to email,打开将短信转发到你Gmail邮箱的选项然后在gmail中设置:Create a ...
2019-05-06 16:16:00
2833
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人