图像处理

PILLOW

由PIL发展而来,PIL已经不更新了

pillow-simd

推荐安装avx2指令集,更快,查看cpu是否支持avx2指令集:
gcc -mavx2 -dM -E - < /dev/null | egrep “SSE|AVX” | sort

SCIKIT-IMAGE

由numpy和scipy发展而来,针对numpy数组操作

OPENCV

计算机视觉库,更底层

速度测试

测试pillow-simd,scikit-image,torchvision.transform(用的pillow)时间:

begin = time.time()
for i in range(100):
    a = Image.open(img)
    a = a.resize((120,160))
    a = a.crop((0,0,100,100))
    a = np.array(a, dtype=float)
    a -= [100,100,100]
    a /= [1,1,1]
    a/=255
pil = time.time()
for j in range(100):
    a = skimage.data.imread(img)
    a = skimage.transform.resize(a, (120,160))
    a = a[0:100,0:100,:]
    a -= [100,100,100]
    a /= [1,1,1]
    a/=255
ski = time.time()
for k in range(100):
    transform = transforms.Compose([
        transforms.Scale((120,160)),
        transforms.RandomSizedCrop(100),
        transforms.ToTensor(),
        transforms.Normalize((100/255,100/255,100/255), (0.2,0.2,0.2))
    ])
    a = Image.open(img)
    a = transform(a)
tra = time.time()
print(pil-begin)
print(ski-pil)
print(tra-ski)

结果

0.15108823776245117
0.5605413913726807
0.24411320686340332

推荐方案:

a = Image.open(img)
a = a.resize((120, 160), Image.NEAREST)
a = a.crop((0, 0, 100, 100))
a = np.array(a, dtype=float)
a = (a-[100, 100, 100])/[255, 255, 255]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值