Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/164.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ opencv中的类型转换_C++_Opencv - Fatal编程技术网

C++ opencv中的类型转换

C++ opencv中的类型转换,c++,opencv,C++,Opencv,我正在尝试将uint32_t*转换为Mat对象(从open cv)可以接受的格式。我不需要显示Mat中的数据,我只是使用Mat来传输和打包信息。我知道opencv不使用uint32_t,我使用int作为解决方法。我所做的是: Mat package = Mat(width,height, CV_32SC4); int *dst1 = package.data; //code that works with the dst //finally put it back in the package

我正在尝试将uint32_t*转换为Mat对象(从open cv)可以接受的格式。我不需要显示Mat中的数据,我只是使用Mat来传输和打包信息。我知道opencv不使用uint32_t,我使用int作为解决方法。我所做的是:

Mat package = Mat(width,height, CV_32SC4);
int *dst1 = package.data;
//code that works with the dst
//finally put it back in the package
package.data = dst1;

上面的代码在第二行给了我一个错误。(无法从“int*”转换为“uchar*”)

Mat格式应为CV_8UC4,而不是CV_32SC4,并且需要强制转换:
int*dst1=(int*)package.data(你不需要最后一行,也不需要写回指针)谢谢你的回答。不过,我已经尝试过了,我在一个内存位置出现了内存异常。也许你也可以发布导致内存异常的代码
CV_8U
将是无符号字符,而不是int。我的问题来自另一个函数(在我解决了小内存问题后,一切正常)它是连接的,因为visual studio向我指出了我进行打包的功能,而不是我的异常所在。berak的解决方案是正确的。感谢大家的关注!