Azzera filtri
Azzera filtri

Fit a plane to 3D data from image

1 visualizzazione (ultimi 30 giorni)
Jonathan Avesar
Jonathan Avesar il 23 Ago 2019
Commentato: Jonathan Avesar il 23 Ago 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,

Risposta accettata

darova
darova il 23 Ago 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 Commento
Jonathan Avesar
Jonathan Avesar il 23 Ago 2019
I understand, thank you so much! Yeah the size of the data there is unnecessary.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by