line profile adding certain rows together

4 visualizzazioni (ultimi 30 giorni)
Jason
Jason il 25 Ott 2016
Risposto: Thorsten il 25 Ott 2016
Hi. I have an image that I create a horizontal linescan through the centre (y co0rdinate = rMiddle)
I have also shown two red dotted lines that represent +/- 1 pixel. What I'm trying to do it centred around rMiddle, obtain a profile that sums the linescans together for not for +/-1 pixel but to extend +/- 3 pixels.
This is what I have so far but was wondering if their is a more elegant way.
yth_row=img(rMiddle,:)+img(rMiddle-1,:)+img(rMiddle+1,:)+img(rMiddle-2,:)+img(rMiddle+2,:)+img(rMiddle-3,:)+img(rMiddle+3,:);
Thanks Jason

Risposta accettata

Thorsten
Thorsten il 25 Ott 2016
ind = [-3 -2 2 3] + rMiddle; % rows +/- 3 pixels from rMiddle, but without row rMiddle and the direct rows +/- 1 pixels above and below of rMiddle.
Y = sum(img(ind, :), 2); % sum across the second dimension, i.e., across columns

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by