Ich versuche, die cv :: Distance() Funktion zu verwenden, aber die folgende Fehlermeldung zur Laufzeit erhalten:OpenCV 2.4 Nicht unterstütztes Format für Distance
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,
Allerdings scheint es, dass meine Eingangsmatte in der Tat CV_8U ist (sein Typ = 16, Tiefe = 0, Kanäle = 3). Meine Ausgabematte ist als CV_32FC1 deklariert. Fehlerhafter Code:
//...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);
Danke für die Hilfe!