Grayscale Picture Linearizing with for loop doesnt work

2 次查看(过去 30 天)
[m,n] = size(grey);
y = 2;
pens= zeroes(m,n);
for i = 1:m
for j = 1:n
pens(i,j) = floor(255*(power(grey(i,j)/255, y)));
end
end
imshow(pens);
For that grey is a grayscale picture (M x N matrix with gray values) this should be a perfectly working code. but it doesnt and i dont get why. If i try numbers between 0 and 255 for "grey(i,j)" as a single command i get the right values, but if i use it in the loop, i only get 0 or 255 as return in pens... does anyone know where the problem here lays?

采纳的回答

Walter Roberson
Walter Roberson 2016-5-4
编辑:Walter Roberson 2016-5-4
pens(i,j) = floor(255*(power(double(grey(i,j))/255, y)));
and at the end,
imshow(uint8(pens));

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by