Maltab中图像像素值保存更改后读出异常

在matlab的图像处理和保存过程中,遇见以下情况:即使修改了图像的像素值如限定在0.2~0.8,在读入图像后,像素值分布仍然在0-1.

function Verify()
    i = imread('dealed.jpg');
    i = im2double(i);
    [m,n,~] = size(i);
    %% 
    for x = 1:m
        for j = 1:n
                if i(x,j,1) > 0.8
                    i(x,j,1) = 0.8;
                elseif i(x,j,1) < 0.2
                    i(x,j,1) = 0.2;
                end
                if i(x,j,2) > 0.9
                    i(x,j,2) = 0.9;
                elseif i(x,j,2) < 0.1
                    i(x,j,2) = 0.1;
                end
                if i(x,j,3) > 0.85
                    i(x,j,3) = 0.85;
                elseif i(x,j,3) < 0.15
                    i(x,j,3) = 0.15;
                end
        end
    end
    imwrite(i,'dealedscen.jpg');
    img = imread('dealedscen.jpg');
     for c=1:3
        maxV = max(max(img(:,:,c)));
        minV = min(min(img(:,:,c)));
        fprintf('Max : %d, Min : %d \r\n',maxV,minV);
    end
end

结果输出:
结果

经过更改图片保存格式验证后,确认这是图片输出后压缩造成的。

将图片改为.bmp格式即可:
结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值