视觉
文章平均质量分 68
curry dog
自然语言处理
展开
-
AZURE KINECT 采集rgbd序列
参考了官方的去畸变以及采集代码。原创 2022-12-08 17:19:04 · 464 阅读 · 1 评论 -
slam笔记
第一章{xk=f(xk−1,uk,wk)zk,j=h(yj,xk,vk,j)\left\{\begin{array}{l}\boldsymbol{x}_{k}=f\left(\boldsymbol{x}_{k-1}, \boldsymbol{u}_{k}, \boldsymbol{w}_{k}\right) \\ \boldsymbol{z}_{k, j}=h\left(\boldsymbol{y}_{j}, \boldsymbol{x}_{k}, \boldsymbol{v}_{k, j}\right)原创 2021-11-09 13:53:42 · 1792 阅读 · 0 评论 -
编译orb_slam2
安装opencv3.4cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..安装 Eigen3.38安装 Pangolin c++11版本用c++11编译orb_slam2cmake -DCMAKE_CXX_STANDARD=11 -DCMAKE_BUILD_TYPE=Release ..如果报错compile error:usleep was not declared in this scope在Sy原创 2021-11-03 15:56:47 · 137 阅读 · 0 评论 -
tinyrender games101笔记
draw line给定(x0,y0) (x1,y1)两个点,画出一条直线。 首先通过交换x,y轴使得变化较快的那个轴变为x轴,再交换x0,x1使得x1永远大于x0。令dx=x1-x0;dy=y1-y0;从(x0,y0)开始,x轴每增加一个像素,因为y轴变化较慢所以增加的值dy/dx小于1, 把增加的值累积起来用变量error记录,每当error>0.5就令y的值增加1,同时error的值减去1. 但是这样做的缺点是需要使用0.5和dy/dx两个浮点数,所以直接两者同时乘以2dx。void lin原创 2021-10-02 15:46:12 · 351 阅读 · 0 评论 -
cmu 16-385 笔记
image filteringPoint OperationLinear shift-invariant image filtering2D convolution如果卷积核可以分解为两个一维卷积核相乘,那么2维卷积也可以分解成两个一维卷积高斯卷积核利用梯度来检测边缘,在离散情况下,一维梯度的卷积核可以表示为和其它不同的一维卷积核组合Horizontal sober可以在图片中得到许多竖线gradient direction amplitude 的定义梯度对噪声非常敏感,所以一原创 2021-09-01 21:19:27 · 591 阅读 · 0 评论 -
RRPN笔记
求overlaps判定一个点是否在另一个矩形中__device__ inline bool inrect(float pt_x, float pt_y, float * pts) { // pt_x,pt_y是待判定的点 double ab[2]; double ad[2]; double ap[2]; double abab; double abap; double adad; double adap; ab[0] = pts[2] - pts[0]; .原创 2020-10-30 14:45:49 · 290 阅读 · 0 评论 -
图像识别网络 总结
MASK RCNRPN生成anchor对于backbone输出的每一个特征图(Resnet 有5个),RPN输出一个 cls_logit(H/n,W/n,3) 和一个bbox_pred(H/n,W/n,3x4). 其中3代表3个不同长宽比的anchor(eg0.5,1,2),n代表对于原图的缩放倍数(分别为4,8,16,32,64)生成proposals对5种不同尺度的特征图,都执行以下操作取出置信度前pre_nms_top_n的anchors;(eg pre_nms_top_n=转载 2020-10-06 22:11:39 · 1588 阅读 · 0 评论 -
labelme 写入imagedata
from labelme import utilsdata['imageData']=utils.img_arr_to_b64(img).decode('utf-8')原创 2020-09-05 00:35:29 · 3465 阅读 · 9 评论 -
三维点在平面上投影
三维空间平面的一般方程为Ax+By+Cz+D=0 Ax+By+Cz+D=0 Ax+By+Cz+D=0 (1)假定不在平面上的三维空间点坐标为(x_o,y_o,z_o),其在平面上的投影点坐标为(x_p,y_p,z_p)。因为投影点到当前点与平面垂直,根据垂直约束条件,易知y_p与z_p满足如下条件:yp=BA(xp−xo)+yo y_p=\frac{B}{A}(x_p-x_o)+y_o yp=AB(xp−xo)+yo (2转载 2020-08-30 23:56:41 · 3746 阅读 · 2 评论 -
PCL 平面分割
#include <iostream>#include <pcl/ModelCoefficients.h>#include <pcl/io/pcd_io.h>#include <pcl/point_types.h>#include <pcl/sample_consensus/method_types.h>#include <pcl/sample_consensus/model_types.h>#include <pcl原创 2020-08-28 11:15:28 · 851 阅读 · 0 评论 -
opencv 去畸变
对于去畸变后图片中的每一个点 (u,v),我们可以通过畸变系数和相机内参求得其在畸变图像中对应的像素点,然后对(u,v)进行赋值#include <opencv2/opencv.hpp>#include <string>using namespace std;string image_file = "./distorted.png"; // 请确保路径正确int main(int argc, char **argv) { // 本程序实现去畸变部分的代码。尽原创 2020-08-26 15:41:04 · 968 阅读 · 0 评论 -
ubuntu18 PCL安装
安装vtksudo apt-get install libvtk6-dev libvtk6-qt-dev安装 pclsudo add-apt-repository ppa:v-launchpad-jochen-sprickerhof-de/pclsudo apt-get install sudo apt install libpcl-dev原创 2020-08-23 16:53:30 · 251 阅读 · 0 评论 -
QMAKE OPENCV项目
在.pro中加入INCLUDEPATH += /home/wby/opencv3/include \ /home/wby/opencv3/include/opencv \ /home/wby/opencv3/include/opencv2LIBS += -L/home/wby/opencv3/lib/ -lopencv_highgui -lopencv_core -limgpro -limgcoders\原创 2020-07-26 19:50:24 · 604 阅读 · 0 评论 -
labelme 标注数据生成最小外接矩形的旋转角度
labelme 标注数据生成最小外接矩形的旋转角度import jsonimport mathimport cv2import numpy as npimport mathj_file= '0011_rgb.json'p_file='0011_rgb.jpg'with open(j_file, "r") as j_f: data=json.load(j_f)img=cv2.imread(p_file)contours=[]rects=[]font = cv2.FONT_HER原创 2020-06-08 19:56:31 · 1245 阅读 · 1 评论