Selecting that pixel that minimizes the distance
1 view (last 30 days)
Show older comments
Say I have the following two matrices:
>> x = [1 4 3; 6 4 3; 6 9 3; 2 4 3; 5 4 0; 5 3 1; 6 4 7];
>> y = [0 0 1; 1 1 0; 1 1 0; 0 1 1; 0.2 0.8 0.54; 1 1 1; 0 0 0];
Where you can think of `x` as some image, and `y` as the *degree of membership* of each element of `x` to some region of interest.
Say I set those elements in `x` that have degree of membership = 1 to `1` (*core*) and the other elements to `0` as follows:
x = zeros(size(y));
x(y==1) = 1;
In which case I will have the following output:
0 0 1
1 1 0
1 1 0
0 1 1
0 0 0
1 1 1
0 0 0
Now, for the elements of `0`, I substitute their values with the value of `y` in the corresponding location as follows:
x(x==0)=y(x==0);
Now, I select those pixels that are considered `4-neighbours` of `core` but not in core as follows:
four_neighbourhood_pixels = imdilate(core, strel('diamond', 1)) - core;
My question is: *how can we select a pixel `p` that belongs to `four_neighbourhood_pixels` that minimizes the distance between `x` & `core`*?
Provided that for distance I calculate it as follows:
pdist([x,core],'minkowski');
Provided that `x` in the preceding command will be the matrix after substituting the `zeros` with the degree of membership values `y` i the corresponding location?
So, how can I select that pixel that belongs to ` four_neighbourhood_pixels` that minimizes the distance between `x` with the zeros substituted and `core`?
Thanks.
6 Comments
Answers (0)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!