使用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库。
