誰能告訴我如何在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