Find the coordinates nearest to the center coordinate of a patch in an image
Ältere Kommentare anzeigen
i have an image of size [512 512], and xy coordinates values, which have been found on the whole image. (I have attached an example xy coordinate which i'm working on)
Now i wanted to divide the image into blocks of size [128 128], and
I need to find the center most xy coordinate that falls on each patch
2 Kommentare
darova
am 11 Jun. 2020
you can divide your matrix using mat2cell
- I wanted to find the center xy coordinate value that falls in each patch, and crop from the center a new patch of size [100 100]
Don't understand that. Can you explain?
Elysi Cochin
am 11 Jun. 2020
Akzeptierte Antwort
Weitere Antworten (1)
Rob Robinson
am 12 Jun. 2020
Bearbeitet: Rob Robinson
am 12 Jun. 2020
centres = cell((size(ca,1)-1),(size(ca,2)-1));
for r = 1:size(ca,1)-1
for c = 1:size(ca,2)-1
centrePoint = [(blockSizeR/2 +(blockSizeR*(r-1))) (blockSizeC/2 + (blockSizeR*(c-1)))];
distance = sqrt(sum((xy-centrePoint).^2,2));
[value, rowId] = min(distance);
centres{r,c} = xy(rowId,:);
end
end
I think this is what you meant? But this won't return any kind of error if the nearest xy point lies outside of the "patch" - something to be wary of. ( I assumed the RGB array was a matrix of values size 256x256)
Kategorien
Mehr zu Polygons finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!