pixel by pixel squaring of image?

If I have an image of size M by N then how can I do the square of each pixel individually?

Réponses (1)

Sabarinathan Vadivelu
Sabarinathan Vadivelu le 12 Août 2016
outImage = zeros(size(inputImage));
for i = 1 : size(inputImage, 1)
for j = 1 : size(inputImage, 2)
outImage(i, j) = inputImage(i,j)^2;
end
end

4 commentaires

RAVI  KUMAR
RAVI KUMAR le 12 Août 2016
I have tried it but couldn't get the result. As if do the the square of each pixel first and then the square root of each pixel then I should get the initial input image but I didn't
RAVI  KUMAR
RAVI KUMAR le 12 Août 2016
It worked with using ones instead of zeros in the first line.. putImage = ones(size(inputImage));
Anyway thanks for the help.
maaham banu
maaham banu le 22 Nov 2019
hi, why doesnt this algorithm work for a gray image? I am getting only 255
Because if the value goes above 255, it clips to 255. You'll have to use uint16 or double. And don't use a for loop like this answer did. Use dot caret instead:
outImage = double(inputImage) .^ 2; % or uint16()

Connectez-vous pour commenter.

Catégories

En savoir plus sur Images dans Centre d'aide et File Exchange

Question posée :

le 12 Août 2016

Commenté :

le 22 Nov 2019

Community Treasure Hunt

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

Start Hunting!

Translated by