Given a center, sum adjacent pixels

5 Ansichten (letzte 30 Tage)
MementoMori
MementoMori am 3 Okt. 2022
Bearbeitet: Matt J am 3 Okt. 2022
Hi, suppose I have a matrix A and I have a center (for example (10.3,14.6)). Now I want to calculate the value of the center in this way
value = w1*A(10,14) + w2*A(10,15) + w3*A(11,14) + w4*A(11,15)
w1, w2, w3, w4 are the values of the weigths that are proportional to the distance of the pixel from the center.
What is the most correct way to evaluate w1, w2, w3, w4? I want that the weigth of the pixel that is closer to the center higher and the weigth of the pixel that is farther to the center lower and so on.
My hyphotesis is something like this:
w1=0.7 * 0.4 ; w2=0.7*0.6; w3=0.3*0.4; w4= 0.3*0.6
Thanks
  6 Kommentare
dpb
dpb am 3 Okt. 2022
NB the weights above sum to 2 which will double the value...and "proportional" how (linear, quadratic, exponential, ...) and by what measure of "distance"?
MementoMori
MementoMori am 3 Okt. 2022
the sum of the weights is 1. 0.7*0.4 + 0.7*0.6 + 0.3*0.4 + 0.3*0.6 =1
I think linear proportional and I don't know for distance, what is the most suitable?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matt J
Matt J am 3 Okt. 2022
Bearbeitet: Matt J am 3 Okt. 2022
Use interp2:
value=interp2(A,14.3,10.6)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by