implement the distance transform algorithm by City-Block distance measurement

9 Ansichten (letzte 30 Tage)
Hi Guys I have an assignment to implement the distance transform algorithm by City-Block distance measurement I tried a lot of solutions but it didn't work (That's the photo)

Antworten (2)

Walter Roberson
Walter Roberson am 1 Apr. 2022
City block transform between rows of P1 and corresponding rows of P2 is
CB = @(P1, P2) sum(abs(double(P1)-double(P2)), 2)

Image Analyst
Image Analyst am 2 Apr. 2022
I don't know if you want the distances between the centroids of the blobs
props = regionprops(mask, 'Centroid');
xy = vertcat(props.Centroid);
or between all the white pixels in the image.
[y, x] = find(mask);
xy = [x(:), y(:)];
But you can use pdist2
distances = pdist2(xy, xy, 'CityBlock');

Kategorien

Mehr zu Image Processing Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by