Octave imwrite jpg格式文件出现的问题


想给图像增加点亮度,于是写了这一段代码


 %add luminance of a image
%have wield effect for writing jpg image, png imwrite works well
im = imread('fight.jpg');
lightadd = 20;
[m n] = size(im);
for i=1:m
    for j=1:n
        if((im(i, j)+lightadd)>255)
            im(i, j) = 255;
        else
            im(i, j) += lightadd;
        endif
    end
end
im = uint8(im);
imwrite(im, 'fightlighter.jpg');

结果图片不仅没有变亮,反而更加暗了。
我试着看新生成的图片每个像素点,与原来的图片对应的点找不到关系

然而,当我把图片保存成png格式后,出现了变亮的效果,而且图片的对应点也是正确的。

本人在图像处理方面新手,求解释,谢谢

Linux octave 图片

摩登9527 10 years, 4 months ago

Your Answer