unsigned char**to opencv mat

Oli*_*523 6 c++ opencv image-processing double-pointer

我几乎在那里,但我不太明白如何转换

unsigned char ** to a cv::Mat
Run Code Online (Sandbox Code Playgroud)

我知道cv :: Mat的.data部分是uchar*

我正在使用一个以...形式返回和图像的函数

unsigned char ** output;
Run Code Online (Sandbox Code Playgroud)

但我的其余代码使用cv :: Mat's.我没有我使用的lib的源代码,所以不知道它在做什么.

编辑 感谢帮助人员,我已经完成了这个......

cv::Mat TempMat = cv::Mat(h, w, CV_8UC1, *output);
imshow("this is a test",TempMat);
Run Code Online (Sandbox Code Playgroud)

但是图像是黑色的,所以我现在需要找出是否有任何东西存在.

很抱歉由于缺乏研究我在紧迫的期限内,不是不是家庭作业,试图准备好向教授展示结果!

Art*_*huk 10

您必须使用Mat构造函数和指向数据的指针:

 // constructor for matrix headers pointing to user-allocated data
    Mat(int _rows, int _cols, int _type, void* _data, size_t _step=AUTO_STEP);
    Mat(Size _size, int _type, void* _data, size_t _step=AUTO_STEP);
Run Code Online (Sandbox Code Playgroud)

您必须转换void**void*使用它之后.