gpt4 book ai didi

c++ - OpenCV 2.4 不支持 distanceTransform 格式

转载 作者:太空宇宙 更新时间:2023-11-03 22:50:29 24 4
gpt4 key购买 nike

我正在尝试使用 cv::distanceTransform() 函数,但在运行时出现以下错误:

OpenCV Error: Unsupported format or combination of formats (source image must be 8uC1 and the distance map must be 32fC1 (or 8uC1 in case of simple L1 distance transform)) in cvDistTransform,

但是,我的输入垫似乎确实是 CV_8U(它的类型=16,深度=0, channel =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);

感谢您的帮助!

最佳答案

如果有人好奇。确保您的图像是单 channel 的。我假设 CV_8U 可以转换为 CV_8UC1 用于灰度图像,但事实并非如此

您可以使用 cv::cvtColor(src, src, CV_BGR2GRAY); 来减少 channel 数。

关于c++ - OpenCV 2.4 不支持 distanceTransform 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38796748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com