implement the distance transform algorithm by City-Block distance measurement

19 views (last 30 days)
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)

Answers (2)

Walter Roberson
Walter Roberson on 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 on 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');

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!