Continuously interpolate over transformed discrete signal

20 Views Asked by At

Imagine that I have an $\mathbb{K}^{n \times m}$ Matrix called $ A $ (It can also be an 2-dimensional image with the width of m and the height of n, with $\mathbb{K}$ being a colour-vector).

I also have a non-linear, non-affine transformation $T : \mathbb{N_0}^2 \mapsto \mathbb{R}^2 $, which one could interpret as an index-transformation function.
In this sense I mean the following:

If the function $T$ was defined as $T(i,j)=(i+2,\frac{j}{2})$, an 'application' of $T$ onto the matrix' indices would result in following matrix transformation:

A := | 3 1 |
     | 4 2 |

     | - - - |
A' = | 3 - 1 |
     | 4 - 2 |

The result is technically not a matrix, as its indices are not from the field $\mathbb{N_0}$, but from the field $\mathbb{R}$. As you can see the result 'matrix' has some undefined entries (marked with an -).

My question is now: how can I continuously interpolate over the matrix (e.g. Bezier or Bicubic interpolation) in order to fill the 'matrix' empty entries?


It may be easier to see the result as image with floating-point pixel indices, which I now have to fill with 'colour'.

In order to maybe better visualise the problem, I've drawn a small sketch: enter image description here

1

There are 1 best solutions below

4
On

HINT You can try for example the matrix

$$\bf S = \left[\begin{array}{cc}1&0\\0.5&0.5\\0&1\end{array}\right]$$

now on any $2\times 2$ matrix $\bf M$ calculate ${\bf SMS}^T$ and see what happens.