今天來講一下Python中幾種主流讀取圖像方法,並對他們的讀取方式的效率進行對比。
我搜集了幾類大家用的比較多的讀取圖像方法:opencv、scikit-image、scipy、pillow、matplotlib,這些方法的好處就是我們直接調包就好。
在早期,pillow算是Python默認庫中比較流行的圖像工具,後來pillow原始開發人員逐漸做了廢棄的選擇(現在維護的是另一班人),然後各類圖像處理庫,包括原來在c艹稱霸的opencv也選擇了支持Python,然後就是numpy+scipy+scikit-learn+scikit-image這一逆天的科學計算大禮包的出現。這些基礎數據處理的科學計算庫的出現,對整個機器學習界乃至現如今0門檻入門深度學習起了不可磨滅的促進作用。
當然了,畢竟是工具,用的順手纔是重要的。好活不一定用好工具,但是好工具一定出好活。
- 我們首先來看一下opencv的讀取效率:
# 加載時間函數用於計算效率
import time
# opencv
import cv2
N = 1000
tic = time.time()
for i in range(N):
img = cv2.imread('../data/train/cat.123.jpg')
img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
print(N/(time.time()-tic), 'images decoded per second with opencv')
imshow(img)
734.9363854754574 images decoded per second with opencv
剩下的介紹見:0.伏筆:圖像讀取方式以及效率對比