如何在保留特定灰度值的同时在python中调整大小和图像?

Zoo*_*Bee 0 python image image-processing scipy

我有一个包含三个灰度值的.png图像.它包含黑色(0),白色(255)和灰色(128)斑点.我想将此图像调整为较小的尺寸,同时仅保留这三个灰度值.

目前,我正在使用scipy.misc.imresize它,但我注意到,当我减小尺寸时,边缘变得模糊,现在包含超过3个灰度值.

有谁知道如何在python中做到这一点?

Amb*_*ber 5

文档中imresize,请注意interp关键字参数:

interp : str, optional
   Interpolation to use for re-sizing
   (‘nearest’, ‘lanczos’, ‘bilinear’, ‘bicubic’ or ‘cubic’).
Run Code Online (Sandbox Code Playgroud)

默认是bilinear过滤; 切换到nearest它将改为使用最近的现有像素的精确颜色,这将保留您的精确灰度值,而不是尝试在它们之间进行线性插值.