how to find distance of each pixel of image from center of image

4 vues (au cours des 30 derniers jours)
Pratik Oak
Pratik Oak le 5 Fév 2018
Commenté : Jan le 8 Avr 2019
I am interested to find the distance between each pixel of an image with respect to center of image. It is independent of gray level.

Réponse acceptée

Jan
Jan le 5 Fév 2018
Modifié(e) : Jan le 8 Avr 2019
If your image has 640 x 480 pixels, and the center is at the pixel 320 / 240:
img = rand(480, 640);
y = 1:size(img, 1);
x = 1:size(img, 2);
c = [240, 320];
D = sqrt((y.' - c(1)) .^ 2 + (x - c(2)) .^ 2); % >= R2016b
With older Matlab versions:
D = sqrt(bsxfun(@plus, (y.' - c(1)) .^ 2, (x - c(2)) .^ 2));
This is the distance measured in pixels.
  2 commentaires
Pratik Oak
Pratik Oak le 6 Fév 2018
Thank you very much
I got it now
Jan
Jan le 8 Avr 2019
amir baig found a typo: "qplus" -> "@plus".
Thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Image Segmentation and Analysis dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by