# What is a correct way to find or “guess” a kernel which transforms an image into another image using Fourier Transformations?

Assuming I have two images, apple and orange; also assuming a filter kernel that transforms an apple image into an orange image possibly exists, how would some series of Fourier Transformations (and other spectral operations) get me a filter kernel? Is this possible? If possible, can it be immune to rotations/scaling/translation in spatial domain? (apple vs rotated apple)

In another way, if orange is

IFT(FT(apple) * FT(filter))


then how can filter be found using only apple and orange? If it is something like

filter = IFT(FT(apple) @@ FT(orange))


then what could @@ be? Is this possible?

Side question: if this is possible, are we able to extract "similarness" of an apple and an orange, just by looking at the result kernel form @@ operation? I mean, if kernel has only 1 on center and 0 on all other parts, this would be totally equal (both are apple or both are oranges) but what about other cases? Something like root mean squares of all kernel points?

• Assuming the transformation can be represented by a linear filter, you should have filter = IFT(FT(orange) / FT(apple) where / is an element-wise division everywhere except where apple[i][j] is zero. For your other question, you'd have to define what's "similar" for you. – SleuthEye Feb 14 '19 at 5:45
• Just a division on complex numbers element-wise? I will search if scaling and rotation are linear filters? – huseyin tugrul buyukisik Feb 14 '19 at 12:00
• Yes, it's an element-wise complex number division. However, while scaling & rotation are linear transformation, they are not linear filters (a linear filter being a transformation where the output pixels are a linear combination of the pixels in some corresponding neighborhood of the input) – SleuthEye Feb 15 '19 at 1:10