首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python opencv】直方图反投影

用更简单的话来说,与其余部分相比,输出图像将在可能有对象的区域具有更多的白色。好吧,这是一个直观的解释。(我无法使其更简单)。直方图反投影与camshift算法等配合使用。 我们该怎么做呢?...然后,我们将该直方图“反投影”到需要找到对象的测试图像上,换句话说,我们计算出属于背景的每个像素的概率并将其显示出来。在适当的阈值下产生的输出使我们仅获得背景。...然后反向投影R,即使用R作为调色板,并以每个像素作为其对应的目标概率创建一个新图像。即B(x,y) = R[h(x,y),s(x,y)] 其中h是色调,s是像素在(x,y)的饱和度。...如果我们期望图像中有一个区域,则对合适的进行阈值处理将获得不错的结果 ret,thresh = cv.threshold(B,50,255,0) 原始图像: ? roi图像: ?...OpenCV的反投影 OpenCV提供了一个内建的函数cv.calcBackProject()。它的参数几乎与cv.calchist()函数相同。

85230

图几何性质 —— 通过投影计算轮廓朝向

本文记录《机器视觉》 第三章第三节 —— 投影,一些学习笔记和个人理解,其中核心内容为二图的投影。 根据 转动惯量 节的结论,我们只需要使用一阶矩和二阶矩,就可以计算出:物体的位置和朝向。...为了计算物体的一阶矩和二阶矩,我们并不需要知道原始图像,因为,原始图像的投影已经提供了充足的信息。这是一个有趣的结论,因为,图像投影的形式更加紧凑,并且,可以用来设计快速算法。...沿着新的直线对 b(x,y) 进行积分,就给出了一个投影,也就是说: p_{\theta}(t)=\int_{L} b(t \cos \theta-s \sin \theta, t \sin \theta...例如竖直方向的投影(即:\theta = 0) 为: v(x)=\int_{L} b(x, y) d y 水平方向的投影(即:0=π/2)为: h(y)=\int_{L} b(x, y) d x 由于:...} b(x, y) d x d y=\int y^{2} h(y) d y 但是,只使用水平投影和竖直投影,我们无法求出:对xy b(x,y)的积分。

61020
您找到你想要的搜索结果了吗?
是的
没有找到

投影矩阵推导_矩阵投影变换

概要 投影变换是计算机图形学的基础,理解并推导投影矩阵也是很有必要的。正交投影比较简单,没有透视失真效果(近大远小)。而透视投影比较符合人类的眼睛感知,平行线在远处会相交于一点。...透视投影 OpenGL 设P(Px, Py, Pz, 1)是在视锥体内的一点,那么它在近平面z=-n上的投影点,利用相似三角形原则,可以得到: 类似于正交投影,将x,y轴坐标映射到[-1, 1]...区间内,得到: 然而和正交投影不同,z轴的坐标并不是线性的。...在光栅化过程中,必须对z坐标的倒数进行插,因此需要建立1/z的映射函数,这样就可以对投影深度进行插,映射函数的形式如下: 将[-n, -f]映射到[-1, 1],可以得到: 解这个简单的二元一次方程组...,可以得到A,B的 这样就得到了z轴上的映射函数: 3D点(x, y, z)等价于齐次坐标(-xPz, -yPz, -zPz, -Pz),因此x,y,z分量都乘以-Pz得到:

87630

透视投影矩阵_透视投影矩阵推导知乎

透视投影矩阵 关于透视投影矩阵的使用 设置投影矩阵 glFrustum() 设置屏幕坐标 gluPerspective() 首先,重要的是要记住OpenGL中的矩阵是使用列主顺序(而不是行主顺序)定义的...r:立方体的左,右在X轴上的投影 b, t:立方体的下,上在X轴上的投影 n:近平面在Z轴上的投影 f:远平面在Z轴上的投影 关于OpenGL透视投影矩阵的推导,可参考链接link....在这里我们推荐另外一种大佬关于投影矩阵的推导方法,是基于计算机图形学投影矩阵的推导,求出来的结果会和OpenGL的透视投影矩阵有差别,但是在推导过程上更加简单,易于理解。可参照以下链接: link....设置投影矩阵 glFrustum() 在OpenGL中设置透视投影矩阵是通过调用glFrustum来完成的。...注:n,f是固定,不用确定!

1.1K20

透视投影变换矩阵推导_矩阵的投影

如果你曾经看过投影矩阵,你会发现你的常识不足以告诉你它是怎么来的。而且,我在网上还未看到许多关于如何推导投影矩阵的教程资源。本文的话题就是如何推导投影矩阵。...正交投影(Orthographic Projection) 正交投影,之所以这么称呼是因为所有的投影线都与最终的绘图表面垂直,是一种相对简单的投影技术。...你期望x的范围是2个单位宽,从1到-1,所以把各项乘以2/(r-l)。...由于空间体形状的这种变换,透视投影不能像正交投影那样简单的表达为一个平移和一个缩放。你必须制定一些不同的东西。但是,这并不意味着你在正交投影上做的工作是无用的。...当你把第一组代入z’z = pz + q,你可以解得: 现在,把第二组代入,得到: 把q的代入等式,你可以很容易的解得p: 现在你有p的值了,

1.2K20

地图投影

地图投影分类 根据投影面和地球球面的位置关系 投影面和地轴的关系 正轴投影投影面的中心线与地轴一直) 斜轴投影投影面的中心线与地轴斜交) 横轴投影投影面的中心线与地轴垂直) 投影面和地球面的关系...切投影 (投影面和地球球面相切) 割投影 (投影面和地球球面相割) ?...根据正轴投影时经纬网的形状 圆锥投影投影中纬线为同心圆圆弧,经线为圆的半经) 圆柱投影投影中纬线为一组平行直线,经线为垂直于纬线的另一组平行直线,且两相邻经线之间的距离相等) 方位投影投影中纬线为同心圆...,经线为圆的半径,且经线间的夹角等于地球面上相应的经差) 此外,还有伪圆锥投影,伪圆柱投影,伪方位投影,多圆锥投影等 ?...根据投影的变形 等角投影 (地球表面无穷小图形投影后保持相似) 等面积投影 (地球表面图形在投影后面积保持不变) 任意投影 常用地图投影 我国基本比例尺地形图(1:100万,1:50万,1:25万,1:

1.3K10

投影矩阵介绍

下面就介绍下相平面投影的三种不同方法。...正交投影 正交投影可以理解是透视投影的一种极端情况,f趋近无穷大,f/Z趋近1,这时矩阵形式就写成: 展开为: 这里w为1. 可以看出,相平面上的点就是相机坐标系的点,简单粗暴,直接去掉了Z。...这种投影方式没法反应近大远小的特点,所以就有了下面稍微复杂点的正交投影:缩放正交投影。...缩放正交投影(弱透视模型) 由于正交投影简化过猛,直接丢弃了Z,这里为了体现缩放又把Z加回来了,只不过这里的Z是个常值,比如一个三维的点云,可以将分母设为点云Z的均值,这样就实现了投影的缩放(依然保留了平行直线的关系...x轴做了平移,如果使用弱透视投影投影的结果应该是右下角三张图,看起来人头都没旋转。。

88410

OpenGL投影矩阵

这是关于OpenGL投影矩阵的一篇译文,原文在这里....在 OpenGL 中,观察空间中3D坐标点是投影到近裁剪面(即投影面)上的.下面的示意图展示了一个在观察空间中的坐标点 (xe,ye,ze)(x_e, y_e, z_e)(xe​,ye​,ze​),是如何投影到近裁剪面坐标点...(数值为−n-n−n),而我们需要的是唯一的 zzz 以进行裁剪和深度检测,另外的,我们也应该能够"反投影"(unproject,投影的逆变换)znz_nzn​.由于我们知道 zzz 坐标并不依赖与...上面的投影矩阵对应于一般的视锥体投影,如果视锥体是上下左右对称的话(即 r=−l,t=−br = -l, t = -br=−l,t=−b),则上面的投影矩阵可以做如下简化: ?...正交投影 为正交投影构建一个 GL_PROJECTION 矩阵比上面说的透视投影要简单多了. ?

1.6K00
领券