python归一化代码_python中的快速图像归一化

我觉得你的时间安排得很慢。也许你的安装出了问题?在

我试过这个测试程序:#!/usr/bin/python3

import sys

import numpy as np

import cv2

from PIL import Image

from profilehooks import profile

@profile

def try_numpy(img):

ar = np.array(img).astype(np.float32)

for i in range(1000):

mn = np.min(ar)

mx = np.max(ar)

norm = (ar - mn) * (1.0 / (mx - mn))

@profile

def try_cv2(img):

for i in range(1000):

norm = cv2.normalize(img, None, alpha=0, beta=1,

norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_32F)

img = Image.open(sys.argv[1])

try_numpy(img)

img = cv2.imread(sys.argv[1])

try_cv2(img)

在这台运行Ubuntu19.04的2015年i5笔记本电脑上,我看到:

^{pr2}$

所以它们每次通话的时间都是0.1毫秒,比你看到的数字快50倍。在

要进一步加快速度:你对像素值的范围有任何先验知识吗?也许你可以跳过对最大值和最小值的搜索

根据采样密度的不同,对整个输入图像进行规格化处理,然后再裁剪出150x150的补丁,可能会更快。在

你可能感兴趣的:(python归一化代码)