MATLAB Answers

pixel by pixel squaring of image?

44 views (last 30 days)
RAVI  KUMAR
RAVI KUMAR on 12 Aug 2016
Commented: Image Analyst on 22 Nov 2019
If I have an image of size M by N then how can I do the square of each pixel individually?

  0 Comments

Sign in to comment.

Answers (1)

Sabarinathan Vadivelu
Sabarinathan Vadivelu on 12 Aug 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 Comments

Show 1 older comment
RAVI  KUMAR
RAVI KUMAR on 12 Aug 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 on 22 Nov 2019
hi, why doesnt this algorithm work for a gray image? I am getting only 255
Image Analyst
Image Analyst on 22 Nov 2019
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()

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!