gpt4 book ai didi

c++ - 了解 openCV 中的特定行

转载 作者:太空宇宙 更新时间:2023-11-03 22:14:49 25 4
gpt4 key购买 nike

谁能告诉我 cvmSet 在以下代码中实际做了什么。特别是 L0[y*5 + x] 这部分。另外,数组声明为一维数组还是二维数组?我猜它是一维数组。我只想了解那条特定的线。任何帮助将不胜感激。

我的意思是如果数组的值计算为L0[y*5 + x],那么L0中元素的作用是什么,那么初始化一维L0的数组元素有什么意义呢?

    float L0[]={
-1,-1,-1,-1,-1,
0, 0, 0, 0, 0,
2, 2, 2, 2, 2,
0, 0, 0, 0, 0,
-1,-1,-1,-1,-1 };

CvMat* rgbMat = cvCreateMat(5, 5, CV_32FC1);

for (int y = 0; y < 5; y++)
{
for (int x = 0; x < 5; x++)
cvmSet(rgbMat, y, x, L0[y*5 + x]);
}

最佳答案

L0 被声明为 25 个元素的一维数组,但它被解释为 2D 5x5,这实际上很常见。 L0[y*5 + x] 仅用于此目的,以获取对应于 2D 中的 [x,y] 的数组元素。

关于c++ - 了解 openCV 中的特定行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444785/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com