谁能告诉我如何在OpenCV中将Mat
转换为unsigned char*
以及数据是否是数组?另外,我想知道如何将vector<vector<double>>
改为float*
,以使其成为数组的指针?谢谢。垫无符号字符*
Q
垫无符号字符*
7
A
回答
6
正如已经提到的,你应该使用的cv::Mat
一个data
成员:
cv::Mat m;
...
uchar *data = m.data;
关于第二个问题: 首先,当你从转换到double
你float
丢失一些数据。并没有现成的解决方案来做到这一点,所以只需使用简单的循环和复制向量到阵列指针:
float* toArray(vector<vector<double> >& arr)
{
if (arr.empty())
{
return NULL;
}
else
{
//I assume that each vector (element of arr) has the same size
int m = arr.size();
int n = arr[0].size();
float *res = new float[m * n];
int count = 0;
for (int i=0; i<m; i++)
{
for (int j=0; j<n; j++)
{
res[count++] = (float) arr[i][j];
}
}
return res;
}
}
+0
这是你对第二个问题的意思吗? float * kernelarr = nullptr; (int col = 0; col
+1
@AbhishekThakur否,请参阅代码。 – ArtemStorozhuk
相关问题
- 1. 无符号字符**到OpenCV的垫子
- 2. 从无符号字符复制到无符号字符
- 3. 8位无符号字符数组到无符号字符
- 4. C将无符号字符转换为无符号字符:4
- 5. 将无符号字符*复制到无符号字符*
- 6. strcmp()和有符号/无符号字符
- 7. C - 无符号字符*到字符
- 8. 无符号字符比较
- 9. 将无符号字符与有符号字符进行比较
- 10. 比较无符号字符= 0×00和符号字符= '00'
- 11. 错误:从“无符号字符*”无效转换“常量符号字符*”
- 12. C++ - 复制无符号字符*到一个新的无符号字符*数组
- 13. iOS崩溃:CFNetwork HTTPReadFilter :: doPlainRead(StreamReader *,无符号字符*,长,CFStreamError *,无符号字符*)
- 14. 无符号字符数组与int转换为无符号字符
- 15. UDT无法发送无符号字符*
- 16. 位操作符与无符号字符
- 17. SWIG无符号字符和字节[]
- 18. 无符号字符[],位或字节?
- 19. 无符号字符数组到宽字符数组/字符串
- 20. 无法从“无符号字符*”转换成“字符*”
- 21. 转换无符号短垫在OpenCV的矢量
- 22. 符号 - 无符号转换
- 23. 无符号长长字符串转换
- 24. 将无符号字符转换为LPCSTR
- 25. const的无符号字符*为char *
- 26. C数组的const无符号字符[] []
- 27. 无符号字符为int在C + +
- 28. 用无符号字符C++ atoi
- 29. C++发现无符号字符
- 30. 由无符号字符数组着色
您正在使用什么类型的垫?无论如何,请参阅cv :: Mat.data成员 - 它是指向内部Mat存储的指针。 – brotherofken