My improfile results get shorter
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hoyong Yie
il 5 Feb 2020
Modificato: Walter Roberson
il 6 Feb 2020
This might be a simple or dumb question but please help
I'm brand new to MATLAB and am trying to get intensity data out of images using improfile.
This image 'A' is a 422 X 85 image (gray scale) and I'm using the function as I1=improfile(A,[1 1],[1 422]), I2=improfile(A,[2 1],[2 422]) ...
The first I1 result gives me '422 X 1' size, but then it keeps getting shorter afterwords. (I2 - 421X1, I3 - 420X1, ...)
Am I doing something wrong?
Thanks in advance for your help.
0 Commenti
Risposta accettata
Walter Roberson
il 5 Feb 2020
This is expected. The number of pixels used is probably max() of delta x and delta y, with it producing one result for each integer offset in that space
4 Commenti
Walter Roberson
il 6 Feb 2020
Modificato: Walter Roberson
il 6 Feb 2020
N = 256;
start_at = [17 1];
end_at = [17 242];
x_path = linspace(start_at(1), end_at(1), N);
y_path = linspace(start_at(2), end_at(2), N);
I17 = interp2(double(A), x_path, y_path);
For this purpose remember that y corresponds to height, which is rows, the first index of A, and x corresponds to width, which is columns, the second index of A.
Image Analyst
il 6 Feb 2020
Here is how they define the number of pixels: "improfile chooses a value for n, roughly equal to the number of pixels the path traverses."
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Interpolation in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!