Bất cứ ai có thể cho tôi biết làm cách nào tôi có thể chuyển đổi Mat
thành unsigned char*
trong OpenCV và liệu dữ liệu có phải là một mảng không? Ngoài ra, tôi muốn biết làm thế nào có thể cùng một điều được thực hiện cho vector<vector<double>>
để float*
để làm cho nó một con trỏ của mảng? cảm ơn.Mat để unsigned char *
Trả lời
Như đã được đề cập, bạn nên sử dụng một thành viên data
của cv::Mat
:
cv::Mat m;
...
uchar *data = m.data;
Về câu hỏi thứ hai của bạn: trước hết, khi bạn chuyển đổi từ double
để float
bạn bị mất một số dữ liệu. Và không có giải pháp sẵn sàng để làm điều đó, do đó, chỉ cần sử dụng chu kỳ đơn giản và sao chép vectơ cho mảng con trỏ:
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;
}
}
đây có phải là ý của bạn đối với câu hỏi thứ hai không? float * kernelarr = nullptr; cho (int hàng = 0; hàng
@AbhishekKhông, xem mã. – ArtemStorozhuk
- 1. unsigned char ** để OpenCV mat
- 2. char! = (Ký char), char! = (Unsigned char)
- 3. Tại sao kết quả của unsigned char << unsigned char không phải là unsigned char
- 4. C - unsigned int để unsigned char mảng chuyển đổi
- 5. Chuyển mảng char thành unsigned char *
- 6. chuyển đổi không hợp lệ từ unsigned char * để char *
- 7. convert unsigned char * thành String
- 8. scanf char unsigned trong hex
- 9. cout không in unsigned char
- 10. uint8_t và unsigned char liên kết lỗi
- 11. Giá trị lớn nhất của unsigned char
- 12. So sánh char unsigned và EOF
- 13. C++ đọc unsigned char từ luồng tập tin
- 14. Chuyển đổi NSString thành unsigned char * cho ứng dụng iphone
- 15. Thêm hai biến unsigned char và kết quả là int
- 16. Tại sao tôi không thể static_cast giữa char * và unsigned char *?
- 17. Từ IPLImage to Mat
- 18. Làm thế nào để chuyển đổi unsigned char để NSString trong iOS
- 19. Một cách thanh lịch hơn để sử dụng recv() và vector <unsigned char>
- 20. sao chép không null-chấm dứt mảng char unsigned để std :: string
- 21. Cách để nhận được unsigned char vào một std :: string mà không reinterpret_cast?
- 22. Làm thế nào để chuyển đổi char * thành unsigned ngắn trong C++
- 23. Làm thế nào để thay đổi 4 bit trong unsigned char?
- 24. Làm thế nào để chuyển đổi unsigned char * thành std :: string in C++?
- 25. điều gì có nghĩa là để bitwise trái thay đổi một unsigned char với 16
- 26. C và Objective-C - Cách thực hiện để giải phóng một con trỏ char unsigned
- 27. Có thể "ký char" và "unsigned char" luôn được truyền cho nhau mà không bị mất dữ liệu?
- 28. Char để QString
- 29. Trong trường hợp các trường bit, cái nào tốt hơn để sử dụng, unsigned char hoặc unsigned int và tại sao?
- 30. Có thể đặt loại mặc định cho enum thành unsigned char không?
Loại Mat nào bạn đang sử dụng? Dù sao, xem cv :: Mat.data thành viên - nó là một con trỏ để lưu trữ Mat nội bộ. – brotherofken