Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
距离变换在OpenCVSharp中不起作用吗?_Opencv_Opencvsharp - Fatal编程技术网

距离变换在OpenCVSharp中不起作用吗?

距离变换在OpenCVSharp中不起作用吗?,opencv,opencvsharp,Opencv,Opencvsharp,我的代码非常简单——我对图像进行阈值处理,然后尝试对其应用DistanceTransform: var source = new Mat(path, ImreadModes.AnyDepth | ImreadModes.AnyColor); var bgr = new Mat[3]; var thresh = new Mat(); var dist = new Mat(); Cv2.Split(source, out bgr); Cv2.AdaptiveThreshold(bgr[2], thr

我的代码非常简单——我对图像进行阈值处理,然后尝试对其应用
DistanceTransform

var source = new Mat(path, ImreadModes.AnyDepth | ImreadModes.AnyColor);
var bgr = new Mat[3];
var thresh = new Mat();
var dist = new Mat();
Cv2.Split(source, out bgr);
Cv2.AdaptiveThreshold(bgr[2], thresh, 255, AdaptiveThresholdTypes.MeanC, ThresholdTypes.Binary, 13, 2);
Cv2.ImShow("thresh", thresh);
Cv2.DistanceTransform(thresh, dist, DistanceTypes.L2, DistanceMaskSize.Mask5);
Cv2.ImShow("dist", dist);
但好像根本没有应用过滤器:


事实证明,这是由于未能将图像从32位标准化回8位(如所述)

添加以下行后,图像如预期所示:

Cv2.Normalize(dist, dist, 0, 1, NormTypes.MinMax);