laziness, impatience, and hubris PerlMonks

### Re: Abstract image registration or feature detection

by LanX (Sage)
 on Jul 01, 2022 at 15:07 UTC Need Help??

> What I want is to determine the coordinates of these "target" points, based on the transformation determined by the corresponding "known" points.

could you please elaborate? Do you know the corresponding point pairs (known_i,target_i)?

There are many "transformations", I remember seeing a projection model based on a 4x4 matrix in uni.

Determining the entries would mean to solve the resulting linear equations.

Again it depends on the class of allowed transformations.

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

• Comment on Re: Abstract image registration or feature detection

Replies are listed 'Best First'.
Re^2: Abstract image registration or feature detection
by kikuchiyo (Friar) on Jul 01, 2022 at 15:58 UTC

> could you please elaborate? Do you know the corresponding point pairs (known_i,target_i)?

Each known_i and target_i point represents an unique named feature of the original image, and their locations (thus, the vectors between any two known_i and target_j point) are fixed on the reference image.

> There are many "transformations", I remember seeing a projection model based on a 4x4 matrix in uni.

The list of possible transformations include translation, rotation, skewing (so all affine transformations) plus barrel distortion, lens distortion etc. Think of a reference version of a poster in an image authoring software vs. the same poster photographed with a potato camera, not necessarily from a head-on orientation.

> the vectors between any two known_i and target_j point

I'm confused. Did you answer if you know which target point belongs to which source point or if you need to determine those "vectors"?

> Think of a reference version of a poster in an image authoring software vs. the same poster photographed with a potato camera, not necessarily from a head-on orientation.

Please take this for a start Camera Matrix

It's a 3x4 matrix I remembered 4x4, so there might be more.

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

It seems that we're not on the same page. A picture is worth a thousand words: https://imgur.com/KxH62Sa

Each labeled red point from the reference image corresponds to the same labeled red point on the distorted image. And I know the coordinates for both. Similarly, one blue point on the reference image corresponds to one blue point on the distorted image, but I only know their coordinates on the reference, and I want to find them on the other.

translation, rotation, skewing (so all affine transformations)
You'll probably have more points than parameters in the affine transformation matrix, making this an overdetermined linear system. This is good: you can solve it in the least squares sense and handle a bit of the noise in the coordinates this way.
plus barrel distortion, lens distortion
This could be harder, because it's definitely not linear. Panorama stitching software like Hugin can let you optimise the radial distortion parameters at the same time as optimising the affine transform matrices; maybe you could look at its source code for some inspiration. Wikipedia lists a formula for a generalised distortion model, which you could fit the parameters for using Levenberg-Marquardt.

Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11145222]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2022-08-17 22:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
Voting Booth?

No recent polls found

Notices?