使用 CLion 进行 LeetCode 刷题 & 本地 Debug
在编辑器里面进行 LeetCode 刷题是一个很便捷的方式,相比网页端,随时写自测 Debug 然后再提交更加友好。本文整理了下使用 CLion 进行 LeetCode 刷题的插件安装、调试、提交的常用步骤。
0 系统环境
Ubuntu 16.04
CLion 2021.2.2
LeetCode Editor v7.0
C/C++ Single File Execution v1.3 (可选)
1 安装插件
所谓“工欲善其事必先利其器”,在进行刷题之前我们首先安装两个 CLion 插件。一个是 LeetCode Editor ,另一个是...
Terminator 安装 & 使用
Terminator 是一个命令行模拟器,相比系统默认的 Terminal 工具,其提供了更多的功能,比如窗格划分、风格设置等。与之前介绍的 Tmux 虚拟终端使用 不同,这是一个运行在自己电脑端的命令行 GUI 工具,而前者可以运行在服务器端并且能够持久运行与共享 session。
0 系统环境
Ubuntu 16.04
1 安装步骤
使用以下命令进行安装即可:
ZSH
sudo add-apt-repository ppa:gnome-terminator
sudo apt-get update
sudo apt-get install terminator
123
sudo add-apt-repository ppa:gnome-terminatorsudo apt-get updatesudo apt-get...
TeXLive + TeXstudio 配置与使用
LaTex 是学术论文写作的标准工具,其排版好,可控制性强同时格式调整容易书写更快。TeXLive + TeXstudio 是一个比较常见的搭配(当然 TeXmaker 也是可以的,并没有太大区别,TeXstudio 高级功能更多一点),这里面简单总结下其安装配置过程。
0 系统环境
Ubuntu 16.04
1 安装步骤
在 Ubuntu 上安装这一组合非常容易仅需两行命令即可(分别安装 TeXLive 包和 TeXstudio 包):
Shell
sudo apt-get install texlive-full
sudo apt-get install texstudio
12
sudo apt-get install...
双目相机畸变和平行矫正
1 双目相机内外参
1.1 内参矩阵
左相机:
右相机:
1.2 畸变系数
左相机:
右相机:
1.3 外参系数
左相机外参: 和
右相机外参: 和
1.4 理想内参矩阵
构建一个两个相机共同的理想内参矩阵
2 典型步骤
参照 [2] 中的步骤,双目相机典型的畸变和平行矫正流程如下:分别将两个图像的像素坐标系通过共同的内参矩阵转换到相机坐标系:
分别对两个相机坐标系进行旋转得到新的相机坐标系。通过左乘旋转矩阵R1和R2。
针对新的相机坐标分别进行左、右相机的去畸变操作。
去畸变操作结束后,分别用左、右相机的内参矩阵将左、右两个相机坐标系重新转换到左、右图像像素坐标系。
并分别用左、右源图像的像素值对新左、右图像的像素点进行插值。3 OpenCV 中的相关函数findChessboardCorners()用来发现棋盘格的角点位置,这里用的是haaris角点检测方法。cornerSubPix()角点位置精确到亚像素级。
stereoCalibrate()通过角点推算出两个相机的内参矩阵M1,M2和畸变系数D1,D2,当然外参矩阵随之也就计算出来了(在图像校正中还没有用到外参),这里用到的是张正友相机标定算法。
stereoRectify()根据内参矩阵和畸变系数计算右相机相对于左相机的旋转R和平移矩阵T,并将这个旋转和平移矩阵分解成左、右相机各旋转一半的旋转R1,R2和平移矩阵T1,T2,这里用到的是bouguet极线校正的方法。
initUndistortRectifyMap()和remap()对左右相机拍摄的图像进行校正(在今后的文章中将会详细介绍实现方法和步骤)。参考文献
[1] https://blog.csdn.net/wangxiaokun671903/article/details/37935113
[2] https://blog.csdn.net/wangxiaokun671903/article/details/38017055...
WordPress 常见错误整理
1 无法添加目录,提示:Could not insert term into the database
如果出现上述问题,可能有多种因素导致,以下是一些可以尝试的方案:
1)尝试修复数据表:
修改配置文件 wp-config.php,添加如下行:
PHP
define('WP_ALLOW_REPAIR', true);
1
define('WP_ALLOW_REPAIR', true);
运行:
http://yourwebsite.com/wp-admin/maint/repair.php
然后注释掉刚才添加的一行。
如果上述仍无法解决,尝试下一步。
2)检查数据库表结构:
MySQL
ALTER TABLE `wp_terms` CHANGE `term_id` `term_id` BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT;
ALTER TABLE wp_terms AUTO_INCREMENT...
论文笔记:Deep ChArUco: Dark ChArUco Marker Pose Estimation
ChArUco 在相机标定中比较常用,同时在一些 AR 应用中也有涉及。这篇文章是针对 ChArUcho 这个矩阵二维码使用 Deep Learning 方法进行姿态估计,取得了比传统方法更佳鲁棒的结果(似乎可以为标志检测之类)。
文章主要贡献在于:
1、两个网络 ChArUcoNet 和 RefineNet:前者用于定位 ChArUco 的角点坐标,后者用于对角点坐标进行亚像素修正
2、使用仿真数据进行自动标注与训练的方式
1 传统方法
ChArUcho 示意图如下:ChArUco 就是棋盘格和 ArUco 码的结合,整体是一个 5x5 的期盼形状,总共有 16 个 ArUco 码代替了棋盘格中的白色方格,其中的...
Ubuntu/Mac 深度学习开发基本环境配置
0 环境依赖
Ubuntu 依赖库:
1)zsh:
安装:
Shell
sudo apt-get install zsh
1
sudo apt-get install zsh
2)git:
安装:
Shell
sudo apt install git-all
1
sudo apt install git-all
Mac 依赖库:
1)Homebrew:
安装:
Shell
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
1
/bin/bash -c "$(curl -fsSL...
论文笔记:Deep Closest Point: Learning Representations for Point Cloud Registration
DCP 是一篇基于 Deep Learning 来解决 ICP 问题的,其中 Deep Learning 部分主要用于做匹配,后端仍然沿用 SVD 的方法。比很多 MLP 直接出 Pose 的合理,也取得了更好的效果。在与传统方法例如 Go-ICP 以及深度学习方法 PointNetLK 的对比中,都取得了一定的优势。1 经典 ICP 问题
这一部分在之前的论文笔记中已经有了比较详细的阐述,参见:使用 SVD 方法求解...
使用 SVD 方法求解 ICP 问题
本文是结合《Least-Squares Rigid Motion Using SVD》和《Least-Squares Fitting of Two 3-D Point Sets》两篇文章写的一个总结,里面有一些是自己的理解不一定正确。
1 问题定义
假设我们有两个点云集合 和 ,则我们定义的 ICP 问题是通过最小化点对之间距离获得相应的 Pose:
其中 代表每个点的权重。R 和 t 是我们所要求的旋转矩阵和平移向量。
2 计算平移
我们分两步求解旋转和平移,首先求解 t。固定...
Ubuntu 下监控并自动重启网卡
很多时候网站服务器挂掉也可能是因为网卡挂掉了,如果你网站不能访问时 SSH 也无效了一般都是这个问题。这时可以通过一个定时脚本监控网络并进行自动重启。相关文章:Linux 下如何监控并自动重启 apache
1 创建脚本 auto_restart_network.sh
内容如下:
Shell
#!/bin/bash
ping www.baidu.com -c 1 >/dev/null
if [ $? -ne 0 ];then
# systemctl restart network
sudo /etc/init.d/networking restart
echo `date` network restart >>...