Because the discrete Fourier transform matches the input signal with complex exponentials and a cosine is the sum of two complex exponentials divided by 2. The same is true of a sine (except it's divided by 2i)
That is where the factor of 1/2 is coming from. Since you have a real-valued signal, if you are only interested in looking at the magnitude, you can just keep the "positive" frequencies and scale them by 2.
Size of FFT in 1D is not half of the signal length. It's still the signal length (assuming FFT length was of the signal length). However for real data, due to conjugate symmetry, half of this is redundant and can be dicarded to reduce storage. Note however that, when it's required to process the FFT data, you have to construct the full length from the half and proceed.
This is also the reason why spectral analysis software display only positive frequencies for real data; i.e, negative frequencies will be a mirror copy (of the magnitude) of positive frequencies.
But you don't have to discard the half. You can just retain it.
For image processing, the symmetry of FFT for real input data again exist and if you wish you can also dicard half of the image FFT data. Whether this will be employed or not depends on the intentions of the package.
아니요.
1D에서 FFT의 크기는 신호 길이의 절반이 아닙니다. 여전히 신호 길이입니다(FFT 길이가 신호 길이라고 가정). 그러나 실제 데이터의 경우 공액 대칭으로 인해 이 중 절반이 중복되며 저장 공간을 줄이기 위해 버려질 수 있습니다. 단, FFT 데이터 처리가 필요한 경우 절반에서 전체 길이를 구성하여 진행해야 합니다.
이것이 스펙트럼 분석 소프트웨어가 실제 데이터에 대해 양의 주파수만 표시하는 이유이기도 합니다. 즉, 음수 주파수는 양수 주파수의 (크기의) 거울 사본이 될 것입니다.
그러나 절반을 버릴 필요는 없습니다. 그대로 유지하시면 됩니다.
이미지 처리의 경우 실제 입력 데이터에 대한 FFT의 대칭이 다시 존재하며 원하는 경우 이미지 FFT 데이터의 절반을 버릴 수도 있습니다. 이것이 사용될지 여부는 패키지의 의도에 따라 다릅니다.