【发布时间】:2019-05-01 17:59:35
【问题描述】:
我想标准化图像的自定义数据集。为此,我需要通过迭代数据集来计算平均值和标准差。在创建数据集之前如何标准化整个数据集?
【问题讨论】:
标签: python deep-learning computer-vision conv-neural-network pytorch
我想标准化图像的自定义数据集。为此,我需要通过迭代数据集来计算平均值和标准差。在创建数据集之前如何标准化整个数据集?
【问题讨论】:
标签: python deep-learning computer-vision conv-neural-network pytorch
规范化试图做的是保留数据集上的整体信息,即使值存在差异,在图像的情况下,它也会尝试区分某些问题,例如亮度和对比度,这些问题在某些情况下不会造成影响图像具有的一般信息。有几种方法可以做到这一点,每种方法都有优缺点,具体取决于您拥有的图像集和您想要对它们进行的处理工作,仅举几例:
【讨论】:
好吧,我们以这张图片为例:
您需要做的第一件事是决定要使用哪个库:Pillow 或 OpenCV。在本例中,我将使用 Pillow:
from PIL import Image
import numpy as np
img = Image.open("test.jpg")
pix = np.asarray(img.convert("RGB")) # Open the image as RGB
Rchan = pix[:,:,0] # Red color channel
Gchan = pix[:,:,1] # Green color channel
Bchan = pix[:,:,2] # Blue color channel
Rchan_mean = Rchan.mean()
Gchan_mean = Gchan.mean()
Bchan_mean = Bchan.mean()
Rchan_var = Rchan.var()
Gchan_var = Gchan.var()
Bchan_var = Bchan.var()
结果是:
希望它对您的需求有所帮助。
【讨论】: