Filter löschen
Filter löschen

My improfile results get shorter

1 Ansicht (letzte 30 Tage)
Hoyong Yie
Hoyong Yie am 5 Feb. 2020
Bearbeitet: Walter Roberson am 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.

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 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 Kommentare
Walter Roberson
Walter Roberson am 6 Feb. 2020
Bearbeitet: Walter Roberson am 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
Image Analyst am 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."

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by