问题标签 [depth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
12290 浏览

xml - XPath:如何:使用当前上下文的给定属性名称选择所有子项和孙项(无论深度如何)?

xml:

深度未知。如何选择具有 xlink:href 属性的所有元素?

我尝试了以下方法:

任何指导表示赞赏。

0 投票
2 回答
3953 浏览

matlab - 在 Matlab 中保存 Kinect 深度图像?

通过使用 Kinect,我可以获得深度图像,其中每个深度图像像素存储相机和物体之间的距离(以毫米为单位)。现在我想保存它们以便以后使用。最好的建议是什么?

我正在考虑将深度图像保存为图像(jpg/png 等)。但是,该值通常从 50 毫米到 10000 毫米,而普通图像元素可以存储 0-255。然后我需要将数据缩放到 0-255 范围内,这可能会以某种方式利用数据。

0 投票
3 回答
10988 浏览

opengl - 如何将深度缓冲区复制到 GPU 上的纹理?

我想将当前深度缓冲区获取到纹理,以便在着色器中访问它。由于各种原因,我无法进行单独的深度传递,但需要复制已经渲染的深度。

glReadPixels将涉及 CPU 并可能会降低性能,据我所知glBlitFramebuffer,不能将深度颜色转换为颜色,只能深度到深度。

如何在 GPU 上做到这一点?

0 投票
1 回答
1089 浏览

c++ - DirectX Z 缓冲区无法正常工作

我的问题集中在 DirectX 9 中的深度测试。我试图在游戏中的一个静态点渲染一个对象,另一个在可以根据 DirectInput 输入更改的点渲染。其中一个物体被绘制在近 500 个单位之外。在第一次绘制场景时,两个对象会正确渲染,但是一旦第二个对象的位置发生变化(同时移动相机),另一个对象就会被绘制到更近的对象上,尽管启用了深度测试并在附近和远平面值。这个问题让我仔细研究了论坛(包括这个)以找到没有运气的答案。如果有人可以提供帮助,将不胜感激。

编辑:

也许我有点不清楚。在对位置进行任何更改之前正确绘制对象,但是可以随意更改相机方向并且不会产生不良影响。一旦位置改变,对象就会被错误地渲染。

更新:

@paul-jan:我会发布代码,但它分散在几个类中......深度缓冲区只是在 D3DPRESENT_PARAMETERS 中声明的 D3DFMT_D16 自动缓冲区。根据 MSDN 文档,它的自动启用,写入启用,函数是 D3DCMP_LESSEQUAL。此外,模型是从 X 文件加载的,它们在 DirectX 查看器中显示良好。

@vines:有趣的假设。变换是不同的,但仅在世界矩阵中。我的直觉是它在视图矩阵中。我正在研究Frank D. Luna的 DirectX 9.0c 3D 游戏编程简介一书中描述的实现,我已经对其进行了修改以适应我的目的,即三轴旋转。但是,我可能把我的实现搞砸了。

这是一些代码...

r=右向量,u=上向量,f=前向向量,p=位置,w=世界矩阵,l=局部空间偏移变换(我自己的想法是在世界变换之前稍微平移一些东西)。

整个想法是基于第三人称星际战斗机格斗游戏的相机。相机和您的船作为一个对象“连接”在一起(因此是局部空间变换),并且视图矩阵是船的世界矩阵的逆矩阵。不过,我不确定这是否是实现它的最佳方式。

有任何想法吗?

0 投票
1 回答
750 浏览

objective-c - OpenGL深度测试问题

我在 mac 上遇到了 OpenGL 的问题,我认为问题出在深度测试上。

所以,对于我的问题:我没有解释,而是做了两个截图:我的场景从远处:http ://c0848462.cdn.cloudfiles.rackspacecloud.com/dd2267e27ad7d0206526b208cf2ea6910bcd00b4fa.jpg 从附近:http://c0848462.cdn.cloudfiles .rackspacecloud.com/dd2267e27a561b5f02344dca57508dddce21d2315f.jpg

如果我不画绿色地板,一切看起来(有点)都很好。但是,像这样,它看起来还是很可怕的。

以下是我用来设置 Opengl 的三个代码块:

0 投票
0 回答
284 浏览

pixel - android:设备的像素深度

我想知道是否可以获得设备的像素深度(颜色数)。使用 DisplayMetrics 可以知道分辨率...

但是我在哪里可以找到像素深度?

0 投票
3 回答
1573 浏览

java - 检查最小-最大堆java的奇偶级别

所以这是我编写的一种方法,用于确定数组的给定索引是表示堆的最大级别还是最小级别,其中最小级别具有偶数深度(包括 0),最大级别具有奇数深度。它工作正常,但它的运行时间是(我认为)O(log N)。是否有更有效的方法来执行此操作,例如具有恒定运行时间的简单数学计算?请注意,此方法假定数据从数组的索引 1 开始,而不是索引 0。

0 投票
6 回答
201609 浏览

python - Python:调用 Python 对象时超出了最大递归深度

我已经构建了一个爬虫,它必须在大约 5M 页面上运行(通过增加 url ID),然后解析包含我需要的信息的页面。

在使用在 url (200K) 上运行的算法并保存好结果和坏结果后,我发现我浪费了很多时间。我可以看到有一些返回的减数可以用来检查下一个有效的 url。

你可以很快地看到减数(少数几个第一个“好 ID”的小例子) -

在爬取了大约 200K 的 url 之后,我只得到了 14K 的好结果8(顶部返回减数)等'。

这是功能 -

基本上做的是 -checkNextID(ID) 正在获取我知道的第一个 id,其中包含减 8 的数据,因此第一次迭代将匹配第一个“if isValid”子句(isValid(ID + 8) 将返回 True)。

lastResult是一个保存最后一个已知 url id 的变量,所以我们将运行直到 numOfRuns

isValid()是一个函数,它获取一个 ID + 一个被减数,如果 url 包含我需要的内容,则返回 True,并将 url 的汤对象保存到名为 - ' curRes ' 的全局变量中,如果 url 不包含,则返回 False '不包含我需要的数据。

parseHTML是一个函数,它获取汤对象 (curRes),解析我需要的数据,然后将数据保存到 csv,然后返回 True。

如果 isValid() 返回 True,我们将调用 parseHTML() 然后尝试检查下一个 ID+被减数(通过调用 checkNextID(ID + subtrahends),如果它们都不会返回我正在寻找的我会将其增加 1 并再次检查,直到找到下一个有效 url。

你可以在这里看到其余的代码

运行代码后,我得到了大约 950~ 的好结果,突然引发了一个异常 -

“出了点问题:调用 Python 对象时超出了最大递归深度”

我可以在 WireShark 上看到 scipt 卡在 id - 510009541 上(我以 510000003 开始​​我的脚本),脚本尝试使用该 ID 获取 url 几次,然后我注意到错误并停止它。

看到我得到了相同的结果,但比我的旧脚本快 25 到 40 倍,HTTP 请求更少,这非常精确,我只错过了 1 个结果来获得 1000 个好的结果,这是我发现的,我真的很兴奋不可能朗姆酒 5M 次,当我的新脚本在 5-10 分钟内给我 960~ 结果时,我让我的旧脚本运行了 30 个小时并获得了 14-15K 的结果。

我阅读了有关堆栈限制的信息,但是对于我试图在 Python 中实现的算法必须有一个解决方案(我不能回到我的旧“算法”,它永远不会结束)。

谢谢!

0 投票
2 回答
42230 浏览

c++ - 将 16 位深度的 CvMat* 转换为 8 位深度

我正在使用 Kinect 和 OpenCV。我已经在这个论坛中搜索过,但我没有发现任何类似我的问题。我保留来自 Kinect(16 位)的原始深度数据,将其存储在 CvMat* 中,然后将其传递给 cvGetImage 以从中创建 IplImage*:

但现在我需要处理这个图像才能进行 cvThreshdold 并找到轮廓。这两个函数需要输入 8 位深度图像。如何将 CvMat* depthMetersMat 转换为 8 位深度 CvMat* ?

0 投票
1 回答
4159 浏览

actionscript-2 - 如何在 AS2 中管理深度

如何更改下面 AS2 代码中的影片剪辑 (mainClip),使其位于 flash 文件中所有图形的后面?

代码如下: