![](https://img-blog.csdnimg.cn/2019091813595558.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
计算机视觉/图形学
文章平均质量分 71
和计算机视觉或者图形学相关的文章
培之
这个作者很懒,什么都没留下…
展开
-
代码中出现转置 pose (c2w,外参矩阵) 或者转置 intrinsic (内参)矩阵的原因
的坐标,能够得到该点在世界坐标系下的坐标。用 c2w 矩阵举例子。后来想了一下为什么。此时刚好可以利用矩阵转置的法则,即。矩阵的转置,觉得比较奇怪。,也会出现有若干个点,即当。上 一个相机坐标系下的点。但是在代码中,会出现。原创 2023-02-12 20:31:19 · 876 阅读 · 2 评论 -
ray trace & rasterization
Computer graphics algorithms for rendering, or image synthesis, take one of two complementary approaches.One family of algorithms loop over the pixels in the image, computing for each pixel, the first object visible at that pixel; this approach is called原创 2023-01-01 19:33:37 · 113 阅读 · 0 评论 -
numpy np opencv cv2 使用的点
使用 [ ]。reshape 成 (-1,1,2) 的形状。原创 2022-12-19 11:50:33 · 136 阅读 · 0 评论 -
feature detector & descriptor
is anthat。原创 2022-10-22 15:47:02 · 923 阅读 · 0 评论 -
关于相机坐标系下归一化坐标的一个等式为何成立
按照对极几何中的定义,设x1,x2为两个特征点的归一化坐标,那么它们满足s2x2=s1Rx1+t当时看到这里,我就非常地不解,为什么这个等式成立呢?为什么会引入两个变量而不是一个变量呢?现在,我能回答这个问题了,先大概讲一下。然后再对比一下“”和“”的区别,因为它们很像!之后应该对这个问题就很清晰了。原创 2022-10-07 11:49:02 · 1081 阅读 · 0 评论 -
向量/多视图几何资源
向量几何,多视图几何(比如旋转对应的矩阵)原创 2022-10-01 20:17:46 · 135 阅读 · 0 评论 -
trainImage queryImage trainIdex queryIdx OpenCV
I suppose the reason for choosing these names should be that in some application we have got a set of images (training images) beforehand, for example 10 images taken inside your office.The features can be extracted and the feature descriptors can be comp原创 2022-10-01 15:20:56 · 876 阅读 · 0 评论 -
NeRF-pl代码理解记录
本文代码来自。原创 2022-09-14 16:59:37 · 1152 阅读 · 0 评论 -
uv坐标反投影到相机坐标系
根据针孔相机模型,一个在相机坐标系下的 三维点(X,Y,Z)投影到 uv 坐标的过程如下所示⎩⎨⎧uv==fxZX+cxfyZY+cy其中,fx,fy,cx,cy的单位是像素。原创 2022-09-04 16:12:29 · 650 阅读 · 3 评论 -
NeRF OpenCV OpenGL COLMAP DeepVoxels坐标系朝向
points,points,即。原创 2022-09-02 21:08:09 · 3838 阅读 · 2 评论 -
针孔相机投影模型
最终,x=[uv1]=C[100001000010][Rt0T1][XwYwZw1]=C[R∣t][XwYwZw1]u \\ v\\10&1&0&0\\0&0&1&0x=⎣⎡uv1⎦⎤=C⎣⎡100010001000⎦⎤[R0Tt1]⎣⎡XwYwZw。原创 2022-08-26 20:03:41 · 346 阅读 · 0 评论 -
在2视锥中的2点投影到同1个uv坐标
如下图所示,在直角坐标系 xyz 下有一个维点P(x,y,z)请问P的坐标值x,y,z如何确定?过点P做垂直于x轴的平面,与x交于 点A,那么 点A便是点P在x轴上的投影,它的x轴坐标分量就是 点P的x轴坐标分量。这里多说一下:过点P做直线垂直于直线x轴,交点也是A。用一个例子来说明,在高等数学里面,如果题目要求过点P的垂直于x轴的直线方程,首先会作一个过点P,以x轴方向向量作为法向量的平面,然后让该平面与x。...原创 2022-08-21 21:19:56 · 177 阅读 · 0 评论 -
相机光心在世界坐标系下的坐标(相机坐标系原点在世界坐标系下的坐标与c2w的关系)
定义坐标系1、坐标系2,那么向量a在两个坐标系下的坐标为a1,a2,它们之间的关系应该是a1=R12a2+t12这里的R12是指“把坐标系2的向量变换到坐标系1”中。由于向量乘在这个矩阵的右边,它的下标是的。同理,如果我们要表达“从1到2的旋转矩阵”时,就写成R21关于平移t12它实际对应的是坐标系1原点指向坐标系2原点的向量,在坐标系1下取的坐标,所以建议读成“从1到2的向量”。但是反过来的t21。原创 2022-08-19 15:32:25 · 1272 阅读 · 0 评论 -
Python-OpenCV 的 remap函数
result_img 和 原图一模一样。原创 2022-08-14 15:54:03 · 1279 阅读 · 0 评论 -
OpenCV 学习文章记录
注意:下面的代码1,使用 .at 索引 cv::Mat 时依旧是把 row-th 作为第一个参数,column-th作为第二个参数。只不过在 image coordinate system 中,v、u分别代表 row-th 和 column-th。**注意**:OpenCV中的矩阵类 cv::Mat 是**矩阵**,与图1的图像坐标系**毫无关联**。图1. SLAM14 讲 P107。......原创 2022-08-14 11:50:47 · 648 阅读 · 0 评论 -
Python-OpenCV 基本用法
鼠标右键查看图像信息,如下图所示注意,使用 imread 函数读入的数据 image 是 ‘’ 数据类型。image。shape 先,再。图1. SLAM14 讲 P107。原创 2022-08-14 11:50:29 · 883 阅读 · 0 评论 -
坐标系之间的变换
在我们能把城市和车画在一起之前,我们需要把城市转换到轿车坐标系或者把轿车转换到城市坐标系。在图7.19中,右上图是保持坐标系不变,移动点的位置;在这两种移动方法之后,点在坐标系上的坐标都是。在下图7.20中,左图有两个坐标系与一个点,右图表示了该点在两个不同坐标系下是如何构成的。帧表示的点作为输入,转换到以canonicalframe表示的形式。矩阵将以canonical帧表示的点为输入,将它们转化成在。上面是先平移,再旋转,注意与之前的区分开来。我们称上面的矩阵为针对(u,v)帧的。......原创 2022-08-01 22:00:33 · 3066 阅读 · 0 评论 -
从单个/两个向量构建一组正交基底
来自《Fundamentalsofcomputergraphic》2.4.6和2.4.7。原创 2022-08-01 15:46:00 · 1214 阅读 · 0 评论 -
Chapter8_FundamentalsOfComputerGraphic
This几何变换的第二个重要用处是在它们的3维位置和他们的在3维世界的2维视图位置中移动物体。这个3维到2维的映射称之为视图变换,它在对象-顺序渲染过程中起了很重要的作用。3D→2Dview..就其本身而言,将点从世界投影到图像的能力仅适用于生成——在渲染中仅绘制,并且(图8.1)。就像光线追踪器需要沿着每条视线找到,显示实体对象的对象顺序渲染器必须计算出在屏幕上任何给定点绘制的(可能许多)表面中的哪个最接近,并且只显示那个。,这些线段由它们的的(...............原创 2022-07-31 20:52:36 · 473 阅读 · 0 评论 -
Canonical Coordinate System
所谓的CanonicalCoordinateSystem是指相机坐标系原点与世界坐标系原点重合,x-轴(u轴)指向右边,y-轴(v轴)指向上方,z-轴(w轴)指向后面(相对imageplane的后面)。原创 2022-07-31 10:52:34 · 495 阅读 · 0 评论 -
齐次坐标得到非齐次坐标
SE(3)T∈R4×4T=[R0Tt1]=⎣⎡adg0beh0cfi0jkl1⎦⎤一个三维齐次坐标PP=⎣⎡v1v2v31⎦⎤TP=⎣⎡av1+bv2+cv3+jdv1+ev2+fv3+kgv1+hv2+iv3+l1⎦。原创 2022-07-27 21:29:27 · 595 阅读 · 0 评论 -
GAMES 101 笔记
如图5,红色框框,框出来了用三个正交单位向量与內积来**坐标化向量**。有前向(可以看到的内涵),后向(看不到,被挡到的内涵)。自己决定,就是当点P在三角形边上的时候。一直在左边,或者一直在右边,就是P在。如图2,向量点乘可以判断夹角是否大于。反之,P在三角形ABC外部。左图可以判断两个向量的左右相对关系。如果三个式子的结果的向量的。在某些场景下,夹角小于。如果叉乘得到的向量的。...原创 2022-07-26 20:41:39 · 399 阅读 · 0 评论 -
cv2.resize 参数先宽度后高度
使用cv2.imrad读取的图像的shape是(H,W,C)即shape[0]=Hshape[1]=W,即先高度,后宽度。但是cv.resize时,输入的目标图像的形状是(W,H),即先宽度、后高度。还有一种参数是告知resize函数形状放缩因子fxfy,分别对应WH的放缩因子,也是先宽度后高度。...原创 2022-07-23 09:54:44 · 964 阅读 · 0 评论 -
原始NeRF代码学习记录
NeRF 代码学习原创 2022-07-14 16:13:20 · 3269 阅读 · 3 评论 -
根据tensor 构造 cdf
为 weights 生成 cumulative distribution function。其中,weights 是一个 二维 tensor。原创 2022-07-13 09:37:31 · 242 阅读 · 0 评论 -
生成相机光线:栅格空间-NDC-屏幕空间-世界
本文主要参考 文章 Ray-Tracing: Generating Camera Rays。首先,渲染器(render)的目的是为帧的每个像素分配颜色。 我们也知道,视野(field of view)等参数会改变我们看到的场景的多少。 我们还知道,光线追踪图像是通过为帧中的每个像素生成一条光线来创建的。 当光线与场景中的对象相交并将像素的颜色设置为相交点处的对象颜色时。这称为后向跟踪(backward-)或eye-tracing(因为我们跟踪光线从相机到物体以及从物体到光源的路径,而不是从光源到物体,从物体原创 2022-07-10 16:17:43 · 1722 阅读 · 5 评论 -
光线追踪渲染技术能听懂的介绍
光线追踪是用于计算点与点之间可见性的一种技术。Light transport algorithms*是用来模拟光在空间中的传播方式(当与物体相互作用时)。 简言之,它们用于计算场景中某个点的颜色。 不要将光线追踪与light transport algorithms 混淆**。 他们是两个不同的东西。 光线追踪不是 light transport algorithms 。 它只是一种计算点之间可见性的技术。...原创 2022-07-09 12:56:27 · 1680 阅读 · 0 评论 -
原始 NeRF(新视图重建的神经辐射场) 论文主要点细致介绍
本文介绍论文 NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis( ECCV 2020)里面主要的 3 个部分:Volume Rendering,Positional Encoding 和 Hierarchical Volume Sampling。相信本文详细的介绍会让你对 NeRF 的论文有比较深入细致的了解。本文主要参照 vtuber AI葵的视频讲解,讲解1链接和讲解2链接。在这里首先要说明的是 NeRF 论文中原创 2022-06-23 19:43:07 · 3582 阅读 · 7 评论 -
分辨率概念
关于分辨率(resolution),有两个分辨率,一个是图像(image)分辨率,一个是显示器(display)分辨率。还有个概念是 pixels per inches(ppi) 或者 dots per inches(dpi)。显示器的 ppi 呢是显示器上能发光的点的数目除以显示器的宽度或者长度(以英寸做单位)得到的。假设有一张图像的分辨率是 100*80,那么这张图像在显示器上显示的时候,会占用显示器在宽方向上100个发光点,在高方向上80个。调整图像的 dpi 不会影响它在显示器上的显示效果。图原创 2022-05-31 12:09:51 · 284 阅读 · 0 评论 -
Stereo 的一些 Metric
D1: Percentage of stereo disparity outliers in first frameD2: Percentage of stereo disparity outliers in second frameFl: Percentage of optical flow outliersSF: Percentage of scene flow outliers (=outliers in either D0, D1 or Fl)bg: Percentage of outlie原创 2022-03-30 21:06:15 · 343 阅读 · 0 评论 -
Some ambiguous but not trivial concepts encoundered
1. Projective Transformations aka Homographies akaPlanar Perspective Maps原创 2022-01-01 14:37:40 · 186 阅读 · 0 评论 -
Instance Normalization vs. Batch Normalization
需要用到 instance normalization,记录之。本文内容完全来自 论文 Instance Normalization:The Missing Ingredient for Fast Stylization。首先,x∈RT×C×W×Hx \in \mathbb{R}^{T\times C\times W\times H}x∈RT×C×W×H。xxx 是 TTT 张 图像中的任意一张,i.e.任意一个 tensor。记 xtijkx_{tijk}xtijk 为第 tijktijktijk 个原创 2021-11-17 20:29:02 · 320 阅读 · 0 评论 -
Transpose Convolution in UNet
U-Net是经典的网络架构,在其中用到了 Transpose Convolution,现学习记录该知识点。本文的图片来自 Coursera 深度学习2021版 CNN 课程。如 图1 所示,Transpose Convolution 可以起到上采样的效果,使得 output 比 input 的size 更大。图1. Transpose Convolution 简单示意图以 图2 中的情况为例子进行介绍。Input 2×22\times22×2 ,filter(kernel)3×33\times33×原创 2021-11-09 12:12:18 · 292 阅读 · 0 评论 -
ECCV2018 oral MVSNet 错误公式纠正及正确源代码推导解释
ECCV2018 的一篇 oral 论文 MVSNet: Depth Inference for Unstructured Multi-view Stereo 开启了用 深度学习做 MVS 的先河,但是在该篇论文的 3.2 Cost Volume 部分,却有一个关于 homography 的错误公式,令人匪夷所思的是,在它的Github 开源代码 的相关部分,代码却是按照正确的公式来写的。该论文的错误公式影响了后面的许多论文,比如 CVPR 2020的一篇 oral 论文Cascade Cost Volum原创 2021-11-06 20:26:28 · 886 阅读 · 1 评论 -
Homography拓展(含与平面法向量相关的情况)
本文会推导关于两个 像素坐标系下的 以及 在两个 相机坐标系下的 normalized 图像平面的 homography 矩阵。在下面两种情况中,两个相机的像素点之间可以用一个 Homography 矩阵进行转换:两个相机看到的 3d 点在一个平面上。两个相机没有平移只有旋转。图1. 两个相机视角 C,C^{’} 同时看 3d 空间中 共面 3d点。来自 Visual Odometry on MobileDevices for Virtual Walkthroughs page25首先对于原创 2021-11-06 12:05:37 · 909 阅读 · 0 评论 -
Disparity&Cost Volume in Stereo
本人在阅读 Stereo 相关论文的时候,碰到了一个关键词 disparity。根据论文上下文推断出来它是和 depth 密切相关的,具体是什么在网上没能找到。后来在学习 浙江大学 谭平老师的计算机视觉课程的时候,谭老师讲清楚了这个概念和一些相关 key points,特此记录。本文把 disparity 的概念放到 Stereo 的一个流程上讲,所以会有一些和 disparity 无关的内容,但是其他内容有助于理解 disparity。本文需要 epipolar line 相关知识,默认读者已经掌握,如原创 2021-11-02 11:13:39 · 441 阅读 · 0 评论 -
Why Rank of Fundamental Matrix is 2
在上图中,0\bold{0}0 和 t\bold{t}t 是左右两个相机。 而 e1e_{1}e1,e2e_{2}e2 分别是右边相机在左边相机的投影,和左边相机在右边相机的投影,i.e. epipoles。红色点表示三维空间中的一个点,它在左、右相机上的投影分别是 ppp 、 qqq 点。ppp 、 qqq 点在各自的 epipolar lines上。epipolar lines 必定过对应的 epipoles。好了,以上是对上图的基本介绍,下面进入正题,来回答 Why Rank of Funda.翻译 2021-10-28 10:46:59 · 206 阅读 · 0 评论 -
相机模型下的矩阵
记录科研中的一些 Not Trival Points一、在齐次坐标下一种特殊矩阵[100001000001][xyz1]:=[xy1]\begin{bmatrix} 1 & 0 &0&0\\ 0 & 1 & 0&0\\ 0 & 0 & 0&1 \end{bmatrix} \begin{bmatrix} x\\y\\z\\1\end{bmatrix} := \begin{bmatrix} x\\y\\1\end{bm原创 2021-10-18 19:18:18 · 251 阅读 · 0 评论 -
索引图像和真彩色RGB图像介绍
简单介绍二值图像、灰度图像、索引图像和真彩色RGB图像四种基本类型。(1) 二值图像:一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代白色。由于每一像素(矩阵中每一元素)取值仅有0、1两种可能,所以计算机中二值图像的数据类型通常为1个二进制位。二值图像通常用于文字、线条图的扫描识别(OCR)和掩膜图像的存储。(2) 灰度图像:灰度图像矩阵元素的取值范围通常为[0,255]。因此其数据类型一般为8位无符号整数(unsigned int8),这就是人们经常提到的256灰度图像。“0”转载 2021-03-10 20:19:04 · 8557 阅读 · 2 评论