Consider we have these 3 image frames:
A = [ 1 1 0 0 0 0
1 1 0 0 0 0
1 1 0 0 0 0
1 1 0 0 0 0
1 1 0 0 0 0
1 1 0 0 0 0 ]
B = [ 1 1 1 1 1 1
1 1 1 1 1 1
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0 ]
C = [ 0 0 0 0 0 0
0 0 0 0 0 1
0 0 0 0 1 1
0 0 0 1 1 1
0 0 1 1 1 1
0 1 1 1 1 1 ]
Each of these frames show only one edge (1 vertical, 1 horizontal and 1 diagonal). Now imagine we have:
D = A + B + C;
We know the matrix D is the sum of some image frames, each with only one edge,(we do not know how many) and we want to decompose D into those frames. What image processing technique must be used? Should I use ICA? If so would you please give me some hints on how to run ICA on a matrix to achieve this kind of components?
Or do you think it is more convenient to work on their DFTs? since:
fft(D) = fft(A) + fft(B) + fft(C);
and we know that for each edge we will get 1 set of harmonic frequencies perpendicular to the edge (and for diagonal edges 1 or 2 more sets in other directions). Can we run ICA on real and imaginary parts of the DFT of the image?
Thank you all.
payman