2
我有些分配cv::Mat face;
与它的实际数据,我想沿着以下的行执行的东西:什么是分配cv :: Mat对象的最通用的方法?
cv::Mat gray_image;
cv::Mat x_gradient_image;
cv::Mat temp;
cv::cvtColor(face, gray_image, CV_RGB2GRAY);
cv::Sobel(gray_image, temp, 1, 1, 0);
cv::convertScaleAbs(temp, x_gradient_image, 1, 0);
这将导致程序崩溃,但我在新的C假定++的API,cv::Mat
对象善于分配自己的记忆。为这些cv::Mat
对象分配内存的最简单方法是什么?
我不认为坠机是由于分配。这可能是Sobel函数的无效输入。至少在我运行你的代码时会发生什么:'OpenCV Error:函数/功能没有实现(缓冲区格式(= 5)和目标格式(= 1)的不支持组合)getLinearColumnFilter,file/Users/steve /开发/ opencv2/opencv/modules/imgproc/src/filter.cpp,第2674行# – SSteve
其实,你是对的。给出了错误的深度。取代了sobel操作的深度参数,我们很好。谢谢! – Chris