OpenCV距离转换错误

OpenCV distance transform error

本文关键字:错误 转换 距离 OpenCV      更新时间:2023-10-16

我从这个问题中得到了答案,混合不删除OpenCV中的接缝,但我得到

OpenCV错误:不支持的格式或格式组合源图像必须是8UC1,距离图必须是32fc1或8UC1在简单的L1距离变换>>在未知函数

为什么我得到这个错误?这和我的输入有关吗?

opencv关于距离变换的文档说明输入图像必须是"8位,单通道" (CV_8UC1),输出图像将是"32位浮点,单通道" (CV_32FC1) http://docs.opencv.org/modules/imgproc/doc/miscellaneous_transformations.html。

很可能您的输入图像不是CV_8UC1。要获得一个,您可以使用比较运算符,如>=,如距离变换distrans.cpp的示例代码(在源代码中,在opencv/samples/cpp中)。

 Mat edge = gray >= edgeThresh;

edge为输入,gray为灰度图像,edgeThresh为整数(=100)。

要获得灰度图像,您可以先使用:我如何将cv::Mat转换为OpenCv中的灰度?

 cv::cvtColor(colorMat, gray, CV_BGR2GRAY);

再见,