【发布时间】:2020-01-07 17:25:46
【问题描述】:
我目前正在尝试将基于 opencv 2.x 的代码移植到 opencv 3.x(高于 3.1)。在此代码中,使用了一个函数,即 cvGetMat(...)。由于 opencv 3.x 中不存在此功能,因此我需要适当的替换。有谁知道,如何正确替换此功能?我已经在 opencv 文档和 stackoverflow 中都找到了它,但找不到任何东西。
这是一个使用这个函数的代码片段
void cvCanny3( const void* srcarr, void* dstarr,
void* dxarr, void* dyarr,
int aperture_size )
{
CvMat srcstub, *src = cvGetMat( srcarr, &srcstub );
CvMat dststub, *dst = cvGetMat( dstarr, &dststub );
CvMat dxstub, *dx = cvGetMat( dxarr, &dxstub );
CvMat dystub, *dy = cvGetMat( dyarr, &dystub );
...
...
...
}
当我运行此代码时,我只是按预期收到以下错误:
‘cvGetMat’没有在这个范围内声明 CvMat srcstub, *src = cvGetMat(srcarr, &srcstub); ^~~~~~~~
【问题讨论】:
-
您能否说明
CvMat srcstub, *src = cvGetMat( srcarr, &srcstub );在新的cv::Mat格式中的确切转换?我还是一头雾水