以下は、Scipyのresize関数の代わりにPillowライブラリを使用した関数の修正版です：

```
from PIL import Image

def resize_images(images, res_x, res_y):
    resized_images = np.zeros((images.shape[0], res_x, res_y))
    for n in range(len(images)):
        image = Image.fromarray(images[n, :, :].astype(np.uint8))
        resized_image = image.resize((res_x, res_y), resample=Image.NEAREST)
        resized_images[n, :, :] = np.array(resized_image)
    return resized_images
```

このバージョンでは、Image.fromarray関数を使用して、入力画像配列の各画像をPillow Imageオブジェクトに変換しています。そして、Imageオブジェクトのresizeメソッドを使用して、画像を希望のres_xとres_yのサイズにリサイズします。元の Scipy 実装のアンチエイリアス設定と一致させるため、リサンプリングメソッドは Image.NEAREST に設定されます。リサイズされた画像は NumPy の配列に変換され、resized_images 配列に格納されます。
Here is a modified version of your function that uses the Pillow library instead of the resize function from Scipy:
'''from PIL import Image

def resize_images(images, res_x, res_y):
    resized_images = np.zeros((images.shape[0], res_x, res_y))
    for n in range(len(images)):
        image = Image.fromarray(images[n, :, :].astype(np.uint8))
        resized_image = image.resize((res_x, res_y), resample=Image.NEAREST)
        resized_images[n, :, :] = np.array(resized_image)
    return resized_images
'''
In this version, the Image.fromarray function is used to convert each image in the input images array to a Pillow Image object. The resize method of the Image object is then used to resize the image to the desired res_x and res_y dimensions. The resampling method is set to Image.NEAREST to match the anti-aliasing setting of the original Scipy implementation. The resized image is then converted back to a NumPy array and stored in the resized_images array.