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

16 ビュー (過去 30 日間)
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 件のコメント
Torsten
Torsten 2022 年 11 月 29 日
編集済み: Torsten 2022 年 11 月 29 日
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 2022 年 11 月 29 日
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.

サインインしてコメントする。

回答 (1 件)

Siraj
Siraj 2023 年 9 月 4 日
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.

カテゴリ

Help Center および File ExchangeGeometric Transformation and Image Registration についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by