我有这段代码:
cv::Mat myImage = imread("Image.png");
char * dataPointer = const_cast<char*>(myImage.data);
但我收到错误:
'const_cast' : cannot convert from 'uchar *const ' to 'char *'
为什么我收到此错误?
答案 0 :(得分:1)
从技术上讲,问题在于const_cast
只能更改CV限定符,而从uchar *const
到char *
的转换只会更改:它还会转换{ {1}}(由OpenCV别名unsigned char
)到uchar
,指针方式。
我建议你不要删除const限定符。但是如果你无法避免,那么将指针转换为char
应该适合你。
uchar*
如果你真的想要cv::Mat myImage = imread("Image.png");
uchar * dataPointer = const_cast<uchar*>(myImage.data);
,也可以这样做。
char*