How can I fix the error "The specified transformation matrix is not valid because it is singular to working precision."

14 Ansichten (letzte 30 Tage)
I want to do image registration and therefore calculate the transformation matrix with the following code.
[tform, inlierIdx, status] = estgeotform2d(matchedPointsDis,matchedPointsRef,'projective', MaxNumTrials=100000, MaxDistance=1);
But really often the following error occurs:
The specified transformation matrix is not valid because it is singular to working precision.
Does anyone knows what the problem is?
  2 Kommentare
Torsten
Torsten am 29 Nov. 2022
Bearbeitet: Torsten am 29 Nov. 2022
Most probably, your supplied matchedPointsDis and matchedPointsRef are such that a non-singular transformation T with T(matchedPointsDis) = matchedPointsRef cannot be found.
Ivan Herger
Ivan Herger am 29 Nov. 2022
Yes that is possible. But is there a way to fix that error or do I have to accept that I can't registrate the two images?
Maybe the problem is that the algorithm can't find a model with these matchedPoints?
I use detectKAZEFeatures, extractFeatures and then matchFeatures to define the matchedPointsDis and matchedPointsRef.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Siraj
Siraj am 4 Sep. 2023
Hi! It is my understanding that you have two images, and you are trying to register them. To my knowledge, the error that you are getting is because there are not enough inliners in “matchedPointsDis” and “matchedPointsRef”. One possible reason for such an error can also be that the inliner points are collinear.
To resolve this issue, try using some other feature extraction technique.
You can also check the “status” and see what is going wrong.
Refer to the following link to see what the “status” code signifies.https://www.mathworks.com/help/vision/ref/estgeotform2d.html#mw_f1265016-2bb6-4f73-a574-04fd68d80698
Hope this helps.

Kategorien

Mehr zu Geometric Transformation and Image Registration finden Sie in Help Center und File Exchange

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by