【发布时间】:2016-08-05 19:44:04
【问题描述】:
我正在尝试使用 cv::distanceTransform() 函数,但在运行时出现以下错误:
OpenCV 错误:不支持的格式或格式组合(来源 图像必须为 8uC1,距离图必须为 32fC1(或 8uC1,以防万一 cvDistTransform 中的简单 L1 距离变换)),
但是,我的输入垫似乎确实是 CV_8U(它的类型=16,深度=0,通道=3)。我的输出垫被声明为 CV_32FC1。违规代码:
//...Apply laplacian
//Convert to CV_8U
cv::convertScaleAbs(image_laplacian, image_laplacian);
//Distance transform
cv::Mat edge_distance(image_laplacian.rows, image_laplacian.cols, CV_32FC1);
cv::distanceTransform(image_laplacian, edge_distance, CV_DIST_L2, 5);
感谢您的帮助!
【问题讨论】: