Fit a plane to 3D data from image

2 visualizaciones (últimos 30 días)
Jonathan Avesar
Jonathan Avesar el 23 de Ag. de 2019
Comentada: Jonathan Avesar el 23 de Ag. de 2019
Hello,
I have an image, I, where
>> whos I
Name Size Bytes Class Attributes
I 2056x2464 5065984 uint8
I plotted the surface using surf:
surf(double(I))
which displays this:
surf.png
Now I would like to fit this surface to a plane. So I think I need to use something like
fit([x, y], z, 'ax+by+c')
but I can't figure out how to format the x,y,z input data using my image. Does anyone know how to do this?
Thanks,

Respuesta aceptada

darova
darova el 23 de Ag. de 2019
You have to form vectors of x,y,z the same size. Also i suggest you to reduce your data
[m,n] = size(I);
[X,Y] = meshgrid(1:m,1:n);
% get every 10 000th point
X = X(1:1e4:end)';
Y = Y(1:1e4:end)';
Z = I(1:1e4:end)';
F = fit([X,Y],Z,fittype);
  1 comentario
Jonathan Avesar
Jonathan Avesar el 23 de Ag. de 2019
I understand, thank you so much! Yeah the size of the data there is unnecessary.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Interpolation en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by