Image translation using fourier transform
Ältere Kommentare anzeigen
I have shifted an image by certain pixels in the Fourier (frequency) domain and brought it back to the time domain. My question is if the noise associated with my image before translation is same as the noise associated with it after translation.
Antworten (1)
Rafael S.T. Vieira
am 1 Jun. 2020
Bearbeitet: Rafael S.T. Vieira
am 1 Jun. 2020
It depends on how you are performing the shift. Why don't you just measure it using psnr?
>>psnr(image_after, image_before)
If the two images, before and after some operation, are equal, the function psnr will return Inf.
6 Kommentare
Asrith Pyla
am 1 Jun. 2020
Rafael S.T. Vieira
am 1 Jun. 2020
Bearbeitet: Rafael S.T. Vieira
am 1 Jun. 2020
Hi, Asrith, glad to help,
In MATLAB (and image/signal processing), the standard is to use psnr or snr. There are alternatives approaches that we could use for measuring noise such as:
function output = mySNR(myNoisyImage)
output = 10*log10(1+mean2(myNoisyImage)/std2(myNoisyImage));
end
In the previous code, we are considering that the mean image intensity is our primary signal, and deviations from this mean indicate noise. When we know the noise power at each pixel, we could also use:
function output = mySNR2(myNoisyImage, measuredNoise)
output = 10*log10(mean2(myNoisyImage-measuredNoise)/mean2(measuredNoise));
end
Assuming that the noise intensities are smaller than the image intensities. It all depends on what we are doing. SNR gives us an idea of what is happening. There are other metrics for assessing image quality in MATLAB although not necessarily related to noise: https://www.mathworks.com/help/images/image-quality-metrics.html
Asrith Pyla
am 2 Jun. 2020
Rafael S.T. Vieira
am 2 Jun. 2020
Bearbeitet: Rafael S.T. Vieira
am 2 Jun. 2020
Don't mention it, Asrith.
Power is energy over time, which means the sum of the square intensities is divided by time. Therefore, the noise power is the energy measured over time from a noise source (or whatever energy measured from our signal that shouldn't be there). In theory, It is not possible to measure an image power since it happens in an instant (pixels are distributed energy over space, not time). However, we consider that finite signals or images are periodic. In such a way, it is possible to measure their power. Notice that we may not even find the square image intensities since that may cause a computational overflow.
Finally, there isn't an ideal SNR for an image or a signal. SNR is the ratio of an image power over its noise power. Infinitely large is the best because the noise power became zero, but that may not be feasible. Whatever set of techniques we use, what we want is that the SNR behaves as a monotonically increasing function.
Asrith Pyla
am 5 Jun. 2020
Rafael S.T. Vieira
am 5 Jun. 2020
Bearbeitet: Rafael S.T. Vieira
am 5 Jun. 2020
The Signal Processing Toolbox seems to have some functions for it, Asrith, but since I still don't have such Toolbox, I can't give you a more accurate answer. https://www.mathworks.com/help/signal/spectral-analysis.html (That's assuming we have the data obtained by some device such as a Psophometer).
Kategorien
Mehr zu Spectral Measurements finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!