欢迎访问宙启技术站
智能推送

使用Python实现数据集resizeNormalize()函数进行图像大小和标准化处理

发布时间:2023-12-18 06:39:30

下面是Python实现的数据集resizeNormalize()函数,用于对图像进行大小调整和标准化处理:

import cv2
import numpy as np

def resizeNormalize(image, size, interpolation=cv2.INTER_LINEAR):
    """调整图像大小并进行标准化处理
    
    参数:
    image: 输入图像,可以是numpy数组或者图像文件路径
    size: 目标图像大小,格式为(width, height)
    interpolation: 缩放插值方法,默认为cv2.INTER_LINEAR
    
    返回:
    标准化后的图像,numpy数组格式
    
    """
    # 读取图像
    if isinstance(image, str):
        image = cv2.imread(image)

    # 调整图像大小
    image = cv2.resize(image, size, interpolation=interpolation)

    # 将图像转为灰度图并进行标准化处理
    image_gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
    image_norm = image_gray / 255.0

    return image_norm

使用例子:

# 调用resizeNormalize函数对图像进行处理
image_path = 'example.jpg'
image_size = (256, 256)
normalized_image = resizeNormalize(image_path, image_size)

# 输出结果
print(normalized_image.shape)  # (256, 256)
print(normalized_image.dtype)  # float64
print(normalized_image.min())  # 0.0
print(normalized_image.max())  # 1.0

在上面的例子中,我们使用了example.jpg作为输入图像,并将其调整为256x256的大小。调用resizeNormalize()函数后,返回了标准化后的图像,该图像的数值范围被归一化到了0.0到1.0之间。

需要注意的是,该函数使用了OpenCV库来读取和处理图像,因此需要确保已经正确安装了OpenCV库。