Can FFT only operate on Grayscale images? If Yes, why?
Can FFT only operate on images with dimensions of power of two? If Yes, why?
The FFT can only operate on grayscale images, yes. Each color images contains multiple channels and only if they are displayed together (depending on which color model you use or rather what channels you use), the image will become a full color image. A good example is an RGB image. It contains three grayscale channels with varying intensity. Each channel is colored and R+G+B added together. So if you want to use the FFT on a color image, you have to take it on each color separately or convert the image to grayscale.
The Radix-2 FFT can only be used with signals with $2^n$ samples, yes. The FFT takes advantages of the number of samples in the signal by reordering the signals samples and then taking the fourier transform: Even numbered samples and odd numbered samples. By cutting the size of the transform in half, you only need a quarter of multiplications as opposed to using the DFT on the full signal. But what stops us from reordering the samples again? - Nothing. So we reorder again and again and again until we end up with a "one bit DFT", do the transform and reorder all of the samples recursively. This allows us to keep the transform simple, but it only works with powers of 2.
Using a different Radix, for example 4, the same principle applies (Radix-4 further reduces the number of multiplications compared to Radix-2), but now the signal has to be $4^n$, a power of four: 4, 16, 64, 256, 1024, ...