Image translation using fourier transform

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
Rafael S.T. Vieira am 1 Jun. 2020
Bearbeitet: Rafael S.T. Vieira am 1 Jun. 2020

0 Stimmen

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
Asrith Pyla am 1 Jun. 2020
Thanks Rafael, I will look into it. But, is there any particular standard for measuring the noise of an image in MATLAB other than filtering the noisy image and then subtracting the filtered image from the initial noisy image
Rafael S.T. Vieira
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
Asrith Pyla am 2 Jun. 2020
Thanks for the detailed answer, Rafael.
What do you mean by noise power at each pixel and also what value of snr is considered to be ideal for an image.
Rafael S.T. Vieira
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
Asrith Pyla am 5 Jun. 2020
Is there a way to measure noise power in MATLAB
Rafael S.T. Vieira
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).

Melden Sie sich an, um zu kommentieren.

Gefragt:

am 1 Jun. 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by