参考网上各处写的测试代码:
name='001.jpg';
I=imread('input_001_input.jpg');
thresh=0.5;
I0=im2bw(I,thresh);
I1=im2uint8(I0);
imwrite(I1,name);
因为要用128进行截断二值化,所以归一化之后的阈值是0.5。
im2bw
即为二值化操作,这一步之后图像的像素就是按阈值区分的0和1,im2uint8
是重新用0和255表示像素值。
此时出现一个问题,用imwrite
存储处理后的图之后,再重新写入这张图(jpg格式),发现像素组成并不是0和255,而是0~255,这就达不到我们原本处理的意图了。此时就需要设置无损模式的imwrite
,这是专门针对JPEG图像的参数设置,不设置就会自动有损压缩。
imwrite(I1,name,'mode','lossless');