mirror of https://github.com/vllm-project/vllm.git
38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
# SPDX-License-Identifier: Apache-2.0
|
|
# SPDX-FileCopyrightText: Copyright contributors to the vLLM project
|
|
from pathlib import Path
|
|
|
|
import numpy as np
|
|
from PIL import Image, ImageChops
|
|
|
|
from vllm.multimodal.image import convert_image_mode
|
|
|
|
ASSETS_DIR = Path(__file__).parent / "assets"
|
|
assert ASSETS_DIR.exists()
|
|
|
|
|
|
def test_rgb_to_rgb():
|
|
# Start with an RGB image.
|
|
original_image = Image.open(ASSETS_DIR / "image1.png").convert("RGB")
|
|
converted_image = convert_image_mode(original_image, "RGB")
|
|
|
|
# RGB to RGB should be a no-op.
|
|
diff = ImageChops.difference(original_image, converted_image)
|
|
assert diff.getbbox() is None
|
|
|
|
|
|
def test_rgba_to_rgb():
|
|
original_image = Image.open(ASSETS_DIR / "rgba.png")
|
|
original_image_numpy = np.array(original_image)
|
|
|
|
converted_image = convert_image_mode(original_image, "RGB")
|
|
converted_image_numpy = np.array(converted_image)
|
|
|
|
for i in range(original_image_numpy.shape[0]):
|
|
for j in range(original_image_numpy.shape[1]):
|
|
# Verify that all transparent pixels are converted to white.
|
|
if original_image_numpy[i][j][3] == 0:
|
|
assert converted_image_numpy[i][j][0] == 255
|
|
assert converted_image_numpy[i][j][1] == 255
|
|
assert converted_image_numpy[i][j][2] == 255
|