问题标签 [stride]

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 投票
1 回答
8438 浏览

image - 使用 Opencv C++ 在图像上跨步

我在 Windows 上并在 C++ 上使用 opencv 2.4.2。我读取图像imread并将其放入 Mat 对象中。之后,我使用ptrMat 类的函数获得原始数据的指针。我想知道imread当图像包含步幅时如何工作。Mat 的数据是否有步幅或只有像素的数据?

附加信息:我需要原始数据,因为我使用的是用数组编写的代码,我不想为 Mat 类更改它。

0 投票
2 回答
13861 浏览

video - 任何人都可以帮助理解 AVFrame.linesize[] 吗?

我试图找出每个单元格的AVFrame.linesize[]含义,但我没有找到。

据我了解linesize[0]是宽度,linesize[1]是高度。

  1. 如果我是对的,其他单元格是什么意思?
  2. 为什么avcodec_decode_video2(codecCtxDecode, frameDecoded, &frameFinished, &packet);只有 linesize[0] 具有值而其他单元格始终为 0?

更新

我认为 AVFrame.data[i] 和 AVFrame.linesize[i] 是行中特定颜色的数据和行的长度,对吗?

0 投票
1 回答
548 浏览

c# - C# 中 MSpaint 图像的图像步幅为 +1 字节,为什么?

我对 C# 中一些基于像素的操作有疑问。我编写了一个类,用作围绕Bitmap的图像外壳。Bitmap.GetRGB(x,y)通过使用BitmapDataLockBits直接访问图像数组并从那里读取字节,它可以比颜色对象更快地为您提供图像中某个 (x,y) 位置的像素的 RGB 值。0x00RRGGBB我添加了这个函数以在 (x,y) 像素的掩码中获取 RGB 。

除了我使用 MSPaint 生成的任何图像外,这对我迄今为止使用过的所有图像都完美无缺。例如,我用包含 5 种黄色阴影的颜料制作了一张 5x1 的图像。但是,当我将此图像加载到我的程序中时,图像步幅为 16!我怀疑它是 15(每个像素 3 个字节,5 个像素),但由于某种原因,在前三个字节(第一个像素)之后有一个额外的字节,然后其余的像素跟随在数组中。

我只为 MSpaint 保存的图像找到了这个,我希望有人能解释一下那个额外的字节是什么以及如何检测那个额外的字节。

0 投票
1 回答
1583 浏览

c++ - 什么是glVertexPointer中的步幅,VBO中的glTexCoordPointer

嗨,我在使用 VBO 绘图时遇到问题。所以我在这里问了一个问题。我找不到我的问题的答案。但是通过讨论那里给出的一个答案,我现在有另一个关于 VBO 进展的问题。我对它是什么和做什么感到困惑。

这里 我发现有人回答

如果您将所有顶点数据放在一个数组中(数组:读取为 malloc''ed 指针),所有法线都在另一个数组中,等等。那么您的步幅为 0。例如,如果顶点、法线等是这样存储的:

[顶点0][顶点1][顶点2]...

[正常0][正常1][正常2]...

[texcoord0][texcoord1][texcoord2]...

如果您的顶点、法线等是这样包装的:

[vertex0][normal0][texcoord0][vertex1][normal1][texcoord1][vertex2][normal2][texcoord2]...

然后你应该设置一个非空步幅,它对应于从一个元素切换到下一个元素所需的偏移量。(这个步幅被计为字节)

从那个解释中,我认为步幅实际上是指缓冲区中一个顶点的末端和另一个顶点的起点之间的距离。在第一种情况下,它的值为 0,因为所有顶点都是连续存储的。纹理也是如此。但后来我在同一个线程中阅读了另一个关于跨步定义的答案。

关于 VBO 步幅往往有点混乱,主要是因为它对 0 的特殊含义。

在这种情况下,“步幅”是指内存中一个值的开始与内存中下一个值的开始之间的距离。它不是一个结束与下一个开始之间的距离。因此,在作为结构数组的 VBO 中,该结构的每个元素的步幅将是整个结构的大小。请记住,结构填充会影响这一点。

这与另一个答案所说的相反。或者我对第一个答案的含义有误?谁能帮我解决这个问题。如果有人能举例回答,我将不胜感激。我在这个尚未解决的问题的开头给出了我实现 VBO 的链接。谢谢。

0 投票
1 回答
5887 浏览

arrays - MPI - 发送数组的段

所以我有一个双打数组。我想发送,比如说每 5 个双倍,到接收过程。所以本质上,我需要一种发送特定双打的方法,它们之间有跨步。除了将双打存储到发送缓冲区之外,是否有执行此操作的功能?制作自己的派生类型会更好吗?

0 投票
0 回答
157 浏览

c++ - 顶点缓冲区和渲染问题

我正在尝试使用四边形贴片来近似曲面。我使用 GL_QUADS 直接渲染并指定四边形补丁的四个顶点。

现在我正在尝试使用顶点缓冲区和顶点和法线的覆盖数组(verNor)来获得一些性能。问题是我得到了一些随机的形状,但不是我之前得到的正确形状。

我在这里放我的代码:

网格有 NP 点的 NA,所以我必须绘制 (NP-1)*(NA-1) 四边形。此外,只有当我在 glVertexPointer() 和 glNormalPointer() 函数中给出错误的偏移量和步幅时,我才能得到一些东西(但不正确)。我认为正确的是 vertexPointer :: Stride - 6*sizeof(GLfloat) , offset - 0(last argument) normalPointer :: Stride - 6*sizeof(GLfloat) , offset - 3*sizeof(GLfloat)

0 投票
2 回答
226 浏览

python - 按变量切片/跨步?

背景

我正在尝试用 python 编写一个基本的字母游戏。在游戏中,计算机版主从可能的单词列表中挑选一个单词。每个玩家(计算机 AI 和人类)都会看到一系列空白,每个字母对应一个单词。然后每个玩家猜测一个字母和一个位置,并被告知以下内容之一:

  • 那封信属于那个位置(最好的结果)
  • 那个字母在单词中,但不在那个位置
  • 该字母不在任何剩余的空白处

当单词完全显示出来时,猜对最多字母的玩家将赢得一分。电脑版主又选了一个词,重新开始。第一个获得五分的玩家赢得比赛。在基本游戏中,两个玩家共享他们正在填写的同一组空白,因此玩家可以从彼此的工作中受益。

我的问题

有没有办法使用包含整数的变量来指定切片/步幅的程度?

因为秘密词是随机的,我无法知道它将包含多少个字符。我想首先根据用户选择的位置值的准确性来检查用户的输入(猜测),然后再检查字母是否出现在密码中(不仅仅是在他们指定的位置)。我在想我可以使用 len() 来确定秘密单词中的位置数,然后使用玩家的数字输入来切片/跨步到玩家指定的单词中的正确字符位置。

如何将用户提供的整数放入 slice/stride 命令?它似乎不接受将输入分配给变量,然后将变量放在切片/步幅内。

我是 python 的初学者,如果这是一个愚蠢的问题,我深表歉意——我最初的研究没有发现任何问题。

0 投票
2 回答
23212 浏览

opengl - OpenGL 3/4 glVertexAttribPointer 步幅和偏移量计算错误

我在正确指向顶点数组时遇到问题:

我不明白 stride 和 offset 是如何工作的。glVertexAttribPointer()在我的情况下使用的正确方法是什么?

0 投票
0 回答
351 浏览

fortran - Fortran FFTW 大步“类似 Matlab”

我是 fortran 的新手,正在尝试将我的 matlab 代码有效地转换为 .f

我正在使用 fftw3 包,需要复杂到复杂的 ffts。例如,应转换 3d 数组中的 2 个维度。

我在matlab中做的是

哪里u(Nx,Ny,Nz)是 3d 矩阵。

我可以通过循环在 fortran 中执行此操作,但这比 matlabs ffts 慢得多,如下所示;

fft_many是解决我的问题的解决方案,可以使用跨步,但是我无法让它以某种方式工作。有人可以帮忙吗?

这个链接其实是fftw的高级复杂ffts的'C'帮助;

0 投票
3 回答
1482 浏览

c# - 256 色(8 位)位图的步幅是多少?

这里和其他地方有很多关于计算步幅的问题(和答案)。我有一些需要读入内存的位图。一切正常 IFF 它们是 1650 万色(24 位)。但是,我只需要它们是 256 色(8 位),当我尝试加载确切的图像但颜色深度较低时,它会爆炸。我只能忍受这个;除了,显然,256 色图像比 1650 万色图像小很多。

那么,256 色灰度(8 位)图像的步幅是多少?