当我调整 Mat 的大小时,opencv 的 Mat 发生了一些奇怪的事情。
这是opencv中的标题:首先我从Visual C#中的托管代码接收到一个指针:
unsigned char * PointerImage( unsigned char* matData, int widht)
我从opencv中的指针创建一个垫子:
cv::Mat OriginalImg(Size(widht,widht),CV_8UC3,matData);
如果我不应用调整大小并将指针发送到我在 Visual c# 中创建到我的程序的 Mat,它工作正常,我可以在我的 Visual c# 中显示图像。
unsigned char *data = OriginalImg.data;
当我应用调整大小以使图像更大时,问题就开始了:
cv::resize( OriginalImg, OriginalImg, size(270,270));
现在我看不到图像了。
这是整个代码:
unsigned char * PointerImage( unsigned char* matData, int widht){
cv::Mat OriginalImg(Size(widht,widht),CV_8UC3,matData);
cv::resize( OriginalImg, OriginalImg, size);
unsigned char *data = OriginalImg.data;
return data;
}
当我应用调整大小时,我怀疑指针。谢谢。