1. PIL.Image.open
代ç å¨è¿éï¼Pillow/Image.py at 3.1.x · python-pillow/Pillow · GitHub
open() å½æ°æå¼å¾åï¼ä½å¹¶ä¸è¯»å
¥ï¼ç´å°ææä½åçã
å
·ä½ç读åæä½æ¯å¨ ImageFile.py åçã大ä½æµç¨æ¯å
æ£æµæ件类åï¼æ´åå°è¯»å
¥æ件å
容ï¼ç¶åè°ç¨è§£ç å¨è§£ç ï¼åäºå¾å¤ä¼åï¼æçåºè¯¥è¿æ¯å¾é«çã
2. scipy.ndimage.imread
代ç å¨è¿éï¼scipy/io.py at v0.17.1 · scipy/scipy · GitHub
imread è°ç¨ scipy.misc.pilutil.imreadãä»ååå°±è½çåºæ¥å
¶å®è°ç¨çè¿æ¯ Pillowã
æ ¹æ® pilutil 代ç ï¼scipy/pilutil.py at v0.17.1 · scipy/scipy · GitHub
ç¡®å®æ¯è°ç¨ pil.image.open()ï¼ç¶åè¿åä¸ä¸ª fromimage()ã
3. scipy.misc.imread
misc ç __init__.py å¨è¿éï¼scipy/__init__.py at v0.17.1 · scipy/scipy · GitHub
è°ç¨çè¿æ¯ pilutil ä¸ç imread
ç¸å
³ä»£ç å¦ä¸
try:
from .pilutil import *
from . import pilutil
__all__ += pilutil.__all__
del pilutil
except ImportError:
pass
ä¹ç®æ¯å¦äºä¸æï¼ä» pilutil 导å
¥å
¶ææå½æ°æ·»å å°å½å空é´ï¼ç¶ååå é¤äº pilutil æ¶é¤å½±åã
4. skimage.io.imread
代ç å¨è¿éï¼scikit-image/_io.py at master · scikit-image/scikit-image · GitHub
æ¯éè¿æ件 plugin æ¥è¯»å
¥ä¸åçæ件ï¼èä¸ä¼è¯ç¨å 个ä¸åç plugins æ¥æ¾å°åéçã
ä½¿ç¨ call_plugin æ¥è°ç¨ï¼ä»£ç å¨è¿éï¼scikit-image/manage_plugins.py at master · scikit-image/scikit-image · GitHub
å¯ä»¥æ ¹æ®å¦ä¸ä»£ç æ¥çæ件è°ç¨çä¼å
级
# For each plugin type, default to the first available plugin as defined by
# the following preferences.
preferred_plugins = {
# Default plugins for all types (overridden by specific types below).
'all': ['pil', 'matplotlib', 'qt', 'freeimage'],
'imshow': ['matplotlib'],
'imshow_collection': ['matplotlib']
}
plugins çæºä»£ç å¨è¿éï¼scikit-image/skimage/io/_plugins at master · scikit-image/scikit-image · GitHubãå¯ä»¥çå° pil ç imreadï¼æ¯ç¨ open æå¼å¾åä¹åï¼å转æ¢æ ndarrayã
5. cv2.imread
è¿éæ¯è°ç¨ç CV::imread()ï¼ä»£ç å¨è¿éï¼opencv/loadsave.cpp at master · opencv/opencv · GitHubãä¸è¬æ¥è¯´ C\C++ çå®ç°ï¼åºè¯¥æ¯ python é度快ä¸ç¹ã
6. matplotlib.image.imread
matplotlib çææ¡£éé¢è¯´ï¼matplotlib åçåªå¯ä»¥è¯»å PNG æ件ï¼æ PIL çæ¶åï¼å¯ä»¥è¯»åå
¶ä»ç±»åçæ件ãå¦æä½¿ç¨ URL æå¼å¨çº¿å¾åæ件ï¼éè¦ç¬¦å PIL çææ¡£è¦æ±ã
matplotlib.image.imread ç代ç å¨è¿éï¼matplotlib/image.py at master · matplotlib/matplotlib · GitHubãmatplotlib çåç PNG 读åååå
¥ï¼æ¯ç¨ C å®ç°çï¼ä»£ç å¨è¿éï¼matplotlib/_png.cpp at master · matplotlib/matplotlib · GitHubã
matplotlib æ¯å
ç¨ pil ç open æå¼å¾åï¼å¦ææ ¼å¼æ¯ pngï¼å°±ç¨åçæ¹æ³æå¼ãç¸å
³ä»£ç å¦ä¸ï¼
handlers = {'png': _png.read_png, }
if format is None:
if cbook.is_string_like(fname):
parsed = urlparse(fname)
# If the string is a URL, assume png
if len(parsed.scheme) > 1:
ext = 'png'
else:
basename, ext = os.path.splitext(fname)
ext = ext.lower()[1:]
elif hasattr(fname, 'name'):
basename, ext = os.path.splitext(fname.name)
ext = ext.lower()[1:]
else:
ext = 'png'
else:
ext = format
if ext not in handlers:
im = pilread(fname)
if im is None:
raise ValueError('Only know how to handle extensions: %s; '
'with Pillow installed matplotlib can handle '
'more images' % list(six.iterkeys(handlers)))
return im
声æçå¤çå¨åªæ pngãå¦ææ¯ png æ件ï¼è°ç¨ _png.read_pngãå¦æä¸æ¯ png ç´æ¥ä½¿ç¨ pilreadï¼å°±æ¯ç¨ pil ç Image.open ç¶å pil_to_arrayï¼ã
matplotlib çæºç ç¡®å®æ¯è¾å¤æï¼ä¸å¤§é¨å主ä½æ¯ç¨ C åçï¼æ¹å¨å¾æ¿è¿ï¼åè½æ´æ°ççã
温馨提示:答案为网友推荐,仅供参考