My improfile results get shorter
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Walter Roberson
2020-2-5
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 个评论
Walter Roberson
2020-2-6
编辑:Walter Roberson
2020-2-6
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
2020-2-6
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."
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Splines 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!