| ±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÓÚר֪£¬±¾ÎÄÖ÷ÒªÏêϸµÄ¶Ônumpy¿âµÄ²Ù×÷½øÐнéÉÜ£¬Í¨¹ý±¾Õ½ڵÄѧϰҲΪ֮ºó½øÐи´ÔÓµÄͼÏñ´¦Àí´òÏÂÀι̵Ļù´¡¡£
|
|
¡¾µ¼¶Á¡¿×¨Öª³ÉÔ±HuiÉÏÒ»´ÎΪ´ó¼Ò½éÉÜMatplotlibµÄʹÓ㬰üÀ¨»æÍ¼£¬»æÖƵãºÍÏߣ¬ÒÔ¼°Í¼ÏñµÄÂÖÀªºÍÖ±·½Í¼£¬ÕâÒ»´ÎΪ´ó¼ÒÏêϸ½²½âNumpy¹¤¾ß°üÖеĸ÷ÖÖ¹¤¾ß£¬²¢ÇÒ»á¾ÙʵÀý˵Ã÷ÈçºÎÓ¦Óá£NumpyÊǷdz£ÓÐÃûµÄpython¿ÆÑ§¼ÆË㹤¾ß°ü£¬ÆäÖаüº¬ÁË´óÁ¿ÓÐÓõÄ˼Ï룬±ÈÈçÊý×é¶ÔÏó£¨ÓÃÀ´±íʾÏòÁ¿¡¢¾ØÕó¡¢Í¼ÏñµÈµÈ£©ÒÔ¼°ÏßÐÔ´úÊý¡£
Numpy»ù±¾²Ù×÷ºÍͼÏñ»Ò¶È±ä»»
PythonÖÐÓкö๤¾ß°üÓ¦ÓÃÓÚͼÏñ´¦Àíµ±ÖУ¬±¾ÕÂ×÷ΪÈëÃÅÕ½ڣ¬Ê×ÏÈÀ´½éÉÜPythonÖÐ×î»ù±¾µÄ¼¸¸ö¹¤¾ß°ü£¬Ò²Ï£Íû¶ÁÕß¿ÉÒÔÔÚÖ®ºó×ÔÐÐÁ·Ï°¡£
Numpy
NumpyÖеÄÊý×é¶ÔÏó¿ÉÒÔ°ïÖúÎÒÃǽøÐÐÊý×éµÄÖØÒª²Ù×÷£¬±ÈÈç¾ØÕó³Ë»ý¡¢×ªÖᢽⷽ³Ìϵͳ¡¢ÏòÁ¿³Ë»ý¹éÒ»»¯£¬Í¨¹ýÕâЩ²Ù×÷£¬ÎÒÃÇ¿ÉÒÔ¶ÔͼÏñ½øÐн¨Ä£¡¢Í¼Ïñ·ÖÀࡢͼÏñ¾ÛÀàµÈ¸´ÔÓµÄͼÏñ´¦Àí¹¤×÷¡£
Numpy¿ÉÒÔ´Ówww.scipy.org/DownloadÃâ·ÑÏÂÔØ£¬ÔÚÏß˵Ã÷Îĵµ(http://docs.scipy.org/doc/numpy/)°üº¬ÁËÄã¿ÉÄÜÓöµ½µÄ´ó¶àÊýÎÊÌâµÄ´ð°¸£¬¹©´ó¼Ò²Î¿¼¡£
NumpyµÄ»ù±¾²Ù×÷
NumpyÔÚÇ°ÃæµÄÎÄÕÂÖÐÒÑÓÐÉæ¼°£¬µ«ÊDz¢Ã»ÓÐϵͳ½²½â£¬½ñÌ죬ÎÒÃǽ«ÏêϸµÄ¶Ônumpy¿âµÄ²Ù×÷½øÐнéÉÜ¡£
Ê×ÏȽéÉܵÄÊǽ« NumPy µ¼ÈëΪ np£¬²¢²é¿´°æ±¾£¬´úÂëΪ£º
import numpy
as np
print(np.__version__) |
numpy£¨Numerical Python£©ÌṩÁËpython¶Ô¶àάÊý×é¶ÔÏóµÄÖ§³Ö£ºndarray£¬¾ßÓÐʸÁ¿ÔËËãÄÜÁ¦£¬¿ìËÙ¡¢½ÚÊ¡¿Õ¼ä¡£numpyÖ§³Ö¸ß¼¶´óÁ¿µÄά¶ÈÊý×éÓë¾ØÕóÔËË㣬´ËÍâÒ²Õë¶ÔÊý×éÔËËãÌṩ´óÁ¿µÄÊýѧº¯Êý¿â¡£
»ù±¾²Ù×÷µÄ´úÂëÈçÏ£º
| import numpy
as np # ÒýÈënumpy¿â
a1 = np.array([1, 2, 3, 4, 5]) # ´´½¨Ò»¸öһάÊý×é
a2 = np.array([[1, 2, 3, 4, 5], [6, 7, 8, 9,
10]]) # ´´½¨Ò»¸ö¶þάÊý×é
print('Êý×éa1µÄ³¤¶È:', a.shape) # ½á¹û·µ»ØÒ»¸ötupleÔª×é
(2L, 5L)
print('Êý×éa2µÄÐÐÊý£º', a2.shape[0]) # »ñµÃÐÐÊý£¬·µ»Ø 2
print('Êý×éa2µÄÁÐÊý£º', a2.shape[1]) # »ñµÃÁÐÊý£¬·µ»Ø 5
print('»ñÈ¡¾ØÕóa2µÄµÚ2ÐУº', a2[1]) # ½ØÈ¡µÚ2ÐÐ,·µ»Ø [ 6
7 8 9 10]
print('»ñÈ¡Êý×éa2µÚÒ»ÐеĵÚÈý£¬ËÄ£¬Îå¸öÔªËØ£º', a2[0, 2:5]) #
½ØÈ¡µÚ¶þÐУ¬µÚÈý¡¢ËÄ¡¢ÎåÁУ¬
·µ»Ø [3 4 5]
b = a2[a2 > 6] # ½ØÈ¡¾ØÕóaÖдóÓÚ6µÄÔªËØ£¬·¶Î§µÄÊÇһάÊý×é
print('¾ØÕóÖдóÓÚ6µÄÔªËØÊÇ£º', b) # ·µ»Ø [ 7 8 9 10]
a2[a2 > 6] = 0
print(a2) |
Êä³ö½á¹ûΪ£º

ÔÚÉÏÃæµÄ´úÂëÖУ¬ÎÒÃÇͨ¹ýnp.array()º¯Êý¿ÉÒÔ´´½¨Ò»Î¬ºÍ¶þάµÄnarray¶ÔÏ󣬶àάµÄ¶ÔÏóÒ²¿ÉÒÔÒÔ´ËÀàÍÆ£¬ÕâÀï±ã²»ÔÙ¶à˵£»
Òª»ñÈ¡narray¶ÔÏóµÄ¸÷άµÄ³¤¶È£¬¿ÉÒÔͨ¹ýnarray¶ÔÏóµÄshapeÊôÐÔÒª»ñÈ¡narray¶ÔÏóµÄ¸÷άµÄ³¤¶È£¬¿ÉÒÔͨ¹ýnarray¶ÔÏóµÄshapeÊôÐÔ£»shape()ÖÐÒ²¿ÉÒÔ´«ÈëÊý×Ö0»òÊý×Ö1,·Ö±ðÓÃÀ´»ñÈ¡Êý×éµÄÐÐÊý»òÕßÁÐÊý£»
¾ØÕóµÄ½ØÈ¡ºÍpythonÖеÄlistÏàͬ£¬¿ÉÒÔͨ¹ý[]£¨·½À¨ºÅ£©À´½ØÈ¡£¬ÕâÀï²»ÔÙ¹ý¶à׸Êö£»
ÕâÀイһϰ´Ìõ¼þ½ØÈ¡ £¬°´Ìõ¼þ½ØÈ¡ÆäʵÊÇÔÚ[]£¨·½À¨ºÅ£©Öд«Èë×ÔÉíµÄ²¼¶ûÓï¾ä
£¬°´Ìõ¼þ½ØÈ¡Ó¦Óý϶àµÄÊǶԾØÕóÖÐÂú×ãÒ»¶¨Ìõ¼þµÄÔªËØ±ä³ÉÌØ¶¨µÄÖµ¡£ ÀýÈçÉÏÃæÊµÀýÖеĽ«¾ØÕóÖдóÓÚ6µÄÔªËØ±ä³É0¡£
·½À¨ºÅµÄÓ÷¨Ï൱Áé»î£¬ÀýÈ磺µ±ÎÒÃÇÐèÒª´ÓÒ»¸öÊý×éÖÐÌáÈ¡ËùÓÐµÄÆæÊýÔªËØÊ±£¬ÎÒÃDzÉÓÃÈçÏ´úÂ룺
¾ØÕóÖÐÔªËØµÄÌæ»»·½·¨Ò²Ï൱Áé»î£¬½«ÉÏÊö´úÂëÖнØÈ¡µÄ¾ØÕó¸³Öµ£¬ÎÒÃDZã¿ÉÒÔʵÏÖ¾ØÕóÔªËØµÄÌæ»»£¬´úÂëΪ£º
´ËÍ⣬ÎÒÃÇÓÃÏÂÊö´úÂëҲͬÑù¿ÉÒÔʵÏÖÌæ»»¹¦ÄÜ£º
| out = np.where(arr
% 2 == 1, -1, arr) |
np.where º¯ÊýÊÇÈýÔª±í´ïʽ x if condition else yµÄʸÁ¿»¯°æ±¾
| result = np.where(cond,xarr,yarr)
|
µ±·ûºÏÌõ¼þʱÊÇx£¬²»·ûºÏÊÇy£¬³£ÓÃÓÚ¸ù¾ÝÒ»¸öÊý×é²úÉúÁíÒ»¸öеÄÊý×é¡£
µ±Êý×éµÄ±ä¶¯±È½Ï´óʱ£¬Ìæ»»¹¦Äܲ¢²»ÄÜÂú×ãÎÒÃǵÄÐèÇó£¬ÎÒÃǾÍÐèҪʹÓÃÖØËÜ·½·¨£¬ÀýÈ磬½« 1 άÊý×éת»»³É
2 άÊý×飨Á½ÐУ©£¬´úÂëΪ£º
ÖµµÃ×¢ÒâµÄÊÇreshapeÖд«µÄ²ÎÊý-1ÆäʵûÓÐʵ¼ÊÒâÒ壬¶øÊÇÖ»¶¨ÒåÁ˵ÚÒ»¸ö²ÎÊýµÄÁ¿¡ª¡ªÕâ¸öÊý×éÓÐÁ½ÐУ¬È»ºóÎÒÃDz¢²»ÓùØÐÄÁÐÊý£¬¶øÈÃNumpy×Ô¼º¼ÆËã³öÐÂÊý×éµÄÁÐÊý¡£
ͨ¹ýreshapeÉú³ÉµÄÐÂÊý×éºÍÔʼÊý×鹫ÓÃÒ»¸öÄڴ棬Ҳ¾ÍÊÇ˵£¬¼ÙÈç¸ü¸ÄÒ»¸öÊý×éµÄÔªËØ£¬ÁíÒ»¸öÊý×éÒ²½«·¢Éú¸Ä±ä¡£
¾ØÕóµÄºÏ²¢£º
¾ØÕóºÏ²¢¿ÉÒÔͨ¹ýnumpyÖеÄhstack·½·¨ºÍvstack·½·¨ÊµÏÖ
´úÂëÈçÏ£º
| import numpy
as np
a1 = np.array([[1, 2], [3, 4]])
a2 = np.array([[5, 6], [7, 8]])
# !×¢Òâ ²ÎÊý´«ÈëʱҪÒÔÁбílist»òÔª×étupleµÄÐÎʽ´«Èë
print(np.hstack([a1, a2]))
# ºáÏòºÏ²¢
print(np.vstack((a1, a2)))
# ×ÝÏòºÏ²¢ |
Êä³ö½á¹ûΪ£º

¾ØÕóµÄºÏ²¢¿ÉÒÔͨ¹ýnumpyÖеÄhstack·½·¨ºÍvstack·½·¨ÊµÏÖ£¬´ËÍ⣬ ¾ØÕóµÄºÏ²¢Ò²¿ÉÒÔͨ¹ýconcatenatef·½·¨¡£
np.concatenate(
(a1,a2), axis=0 ) µÈ¼ÛÓÚ np.vstack( (a1,a2) )
np.concatenate( (a1,a2), axis=1 ) µÈ¼ÛÓÚ np.hstack(
(a1,a2) ) |
ÎÒÃÇ»¹¿ÉÒÔͨ¹ýº¯Êý´´½¨¾ØÕó£¬numpyÄ£¿éÖÐ×Ô´øÁËһЩ´´½¨ndarray¶ÔÏóµÄº¯Êý£¬¿ÉÒԺܷ½±ãµÄ´´½¨³£ÓõĻòÓйæÂɵľØÕó¡£
arangeº¯ÊýÓÃÓÚ´´½¨µÈ²îÊý×飬ʹÓÃÆµÂʷdz£¸ß£¬arange·Ç³£ÀàËÆrangeº¯ÊýÓ÷¨Îª£¬arange([start,]
stop[, step,], dtype=None)¸ù¾ÝstartÓëstopÖ¸¶¨µÄ·¶Î§ÒÔ¼°stepÉ趨µÄ²½³¤£¬È»ºóÉú³É¶ÔÏó£¬ÀýÈ磺
| a2 = np.arange(5,20,2)
# ´Ó5¿ªÊ¼µ½20£¨²»°üÀ¨20£©£¬²½³¤Îª2 |
a2 = np.arange(5,20,2) # ´Ó5¿ªÊ¼µ½20£¨²»°üÀ¨20£©£¬²½³¤Îª2
linspace()ºÍmatlabµÄlinspaceºÜÀàËÆ£¬ÓÃÓÚ´´½¨Ö¸¶¨ÊýÁ¿µÈ¼ä¸ôµÄÐòÁУ¬Êµ¼ÊÉú³ÉÒ»¸öµÈ²îÊýÁУ¬ÀýÈ磺
| a = np.linspace(0,10,7)
# Éú³ÉÊ×λÊÇ0£¬Ä©Î»ÊÇ10£¬º¬7¸öÊýµÄµÈ²îÊýÁÐ |
a = np.linspace(0,10,7) # Éú³ÉÊ×λÊÇ0£¬Ä©Î»ÊÇ10£¬º¬7¸öÊýµÄµÈ²îÊýÁÐ
linspaceÓÃÓÚÉú³ÉµÈ²îÊýÁУ¬¶ølogspaceÓÃÓÚÉú³ÉµÈ±ÈÊýÁУ¬ÀýÈ磺
ones´´½¨È«1¾ØÕó
zeros´´½¨È«0¾ØÕó
eye´´½¨µ¥Î»¾ØÕó
empty´´½¨¿Õ¾ØÕó£¨Êµ¼ÊÓÐÖµ£©
¾ßÌå´úÂëΪ£º
| import numpy
as np
a_ones = np.ones((3, 4)) # ´´½¨3*4µÄÈ«1¾ØÕó
print('µÚÒ»¸ö¾ØÕó£º\n', a_ones)
a_zeros = np.zeros((3, 4)) # ´´½¨3*4µÄÈ«0¾ØÕó
print('µÚ¶þ¸ö¾ØÕó£º\n', a_zeros)
a_eye = np.eye(3) # ´´½¨3½×µ¥Î»¾ØÕó
print('µÚÈý¸ö¾ØÕó£º\n', a_eye)
a_empty = np.empty((3, 4)) # ´´½¨3*4µÄ¿Õ¾ØÕó
print('µÚËĸö¾ØÕó£º\n', a_empty) |
Êä³ö½á¹ûΪ£º

¾ØÕóµÄ³£¼ûÔËË㣺
+£º¾ØÕó¶ÔÓ¦ÔªËØÏà¼Ó
-£º¾ØÕó¶ÔÓ¦ÔªËØÏà¼õ
*£º¾ØÕó¶ÔÓ¦ÔªËØÏà³Ë
/£º¾ØÕó¶ÔÓ¦ÔªËØÏà³ý£¬Èç¹û¶¼ÊÇÕûÊýÔòÈ¡ÉÌ
%£º¾ØÕó¶ÔÓ¦ÔªËØÏà³ýºóÈ¡ÓàÊý
**£º¾ØÕóÿ¸öÔªËØ¶¼È¡n´Î·½£¬Èç**2£ºÃ¿¸öÔªËØ¶¼È¡Æ½·½ |
³£ÓþØÕóº¯Êý£º
np.sin(a)£º¶Ô¾ØÕóaÖÐÿ¸öÔªËØÈ¡ÕýÏÒ,sin(x)
np.cos(a)£º¶Ô¾ØÕóaÖÐÿ¸öÔªËØÈ¡ÓàÏÒ,cos(x)
np.tan(a)£º¶Ô¾ØÕóaÖÐÿ¸öÔªËØÈ¡ÕýÇÐ,tan(x)
np.arcsin(a)£º¶Ô¾ØÕóaÖÐÿ¸öÔªËØÈ¡·´ÕýÏÒ,arcsin(x)
np.arccos(a)£º¶Ô¾ØÕóaÖÐÿ¸öÔªËØÈ¡·´ÓàÏÒ,arccos(x)
np.arctan(a)£º¶Ô¾ØÕóaÖÐÿ¸öÔªËØÈ¡·´ÕýÇÐ,arctan(x)
np.exp(a)£º¶Ô¾ØÕóaÖÐÿ¸öÔªËØÈ¡Ö¸Êýº¯Êý,ex
np.sqrt(a)£º¶Ô¾ØÕóaÖÐÿ¸öÔªËØ¿ª¸ùºÅ¡Ìx |
¾ØÕóµÄµã³Ë£º
¾ØÕó³Ë·¨±ØÐëÂú×ã¾ØÕó³Ë·¨µÄÌõ¼þ£¬¼´µÚÒ»¸ö¾ØÕóµÄÁÐÊýµÈÓÚµÚ¶þ¸ö¾ØÕóµÄÐÐÊý¡£
¾ØÕó³Ë·¨µÄº¯ÊýΪ dot £¬´úÂëΪ£º
| import numpy
as np
a1 = np.array([[1, 2, 3], [4, 5, 6]]) # a1Ϊ2*3¾ØÕó
a2 = np.array([[1, 2], [3, 4], [5, 6]]) # a2Ϊ3*2¾ØÕó
print(a1.shape[1] == a2.shape[0])
# ÓÃÀ´ÅжϾØÕóÊÇ·ñÂú×ãµã³ËµÄÌõ¼þ
print(a1.dot(a2)) |
ÔËÐнá¹ûΪ£º

¾ØÕóµÄתÖãº
Çó¾ØÕóµÄתÖÃÎÒÃÇÓà a.transpose()À´ÊµÏÖ£¬´ËÍ⣬ ¾ØÕóµÄתÖû¹Óиü¼òµ¥µÄ·½·¨£¬¾ÍÊÇa.T
¾ØÕóµÄÄæ¾ØÕó£º
Çó¾ØÕóµÄÄæÐèÒªÏȵ¼Èënumpy.linalg£¬ÓÃlinalgµÄinvº¯ÊýÀ´ÇóÄæ¡££¬¾ØÕóÇóÄæµÄÌõ¼þÊǾØÕóµÄÐÐÊýºÍÁÐÊýÏàͬ£¬¾ßÌå´úÂëÈçÏ£º
import numpy
as np
import numpy.linalg as lg
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8,
9]])
print(lg.inv(a)) |
Êä³ö½á¹ûÈçÏ£º

»ñÈ¡¾ØÕóÖеÄÔªËØÐÅÏ¢
×î´óÖµºÍ×îСֵ£º
»ñµÃ¾ØÕóÖÐÔªËØ×î´ó×îСֵµÄº¯Êý·Ö±ðÊÇmaxºÍmin£¬¿ÉÒÔ»ñµÃÕû¸ö¾ØÕó¡¢ÐлòÁеÄ×î´ó×îСֵ¡£
È磺a.max()ºÍa.min()ÆäÖУ¬À¨ºÅÄÚÎÒÃÇ»¹¿ÉÒÔ´«ÈëÎÒÃÇÏëÒªµÄ²ÎÊý£¬axis=1»òÕßaxis=0£¬·Ö±ð±íʾ»ñµÃÿÐеÄ×î´ó£¨Ð¡£©ÖµºÍ»ñµÃÿÁеÄ×î´ó£¨Ð¡£©Öµ
ƽ¾ùÖµ£º
»ñµÃ¾ØÕóÖÐÔªËØµÄƽ¾ùÖµ¿ÉÒÔͨ¹ýº¯Êýmean()¡£Í¬ÑùµØ£¬¿ÉÒÔͨ¹ý´«Èëaxis=0ºÍaxis=1²ÎÊý»ñµÃÕû¸ö¾ØÕó¡¢ÐлòÁÐµÄÆ½¾ùÖµ
·½²îºÍ±ê×¼²î£º
·½²îµÄº¯ÊýΪvar(),·½²îº¯Êývar()Ï൱ÓÚº¯Êýmean(abs(x - x.mean())**2),ÆäÖÐxΪ¾ØÕó¡£
±ê×¼²îµÄº¯ÊýΪstd()£¬std()Ï൱ÓÚsqrt(mean(abs(x
- x.mean())**2))£¬»òÏ൱ÓÚsqrt(x.var())¡£
ÖÐÖµ£º
ÖÐÖµÖ¸µÄÊǽ«ÐòÁа´´óС˳ÐòÅÅÁкó£¬ÅÅÔÚÖмäµÄÄǸöÖµ£¬Èç¹ûÓÐżÊý¸öÊý£¬ÔòÊÇÅÅÔÚÖмäÁ½¸öÊýµÄƽ¾ùÖµ¡£ÀýÈçÐòÁÐ[5,2,6,4,2]£¬°´´óС˳ÐòÅųÉ
[2,2,4,5,6]£¬ÅÅÔÚÖмäµÄÊýÊÇ4£¬ËùÒÔÕâ¸öÐòÁеÄÖÐÖµÊÇ4¡£ÓÖÈçÐòÁÐ[5,2,6,4,3,2]£¬°´´óС˳ÐòÅųÉ
[2,2,3,4,5,6]£¬ÒòΪÓÐżÊý¸öÊý£¬ÅÅÔÚÖмäÁ½¸öÊýÊÇ3¡¢4£¬ËùÒÔÕâ¸öÐòÁÐÖÐÖµÊÇ3.5¡£ÖÐÖµµÄº¯ÊýÊÇmedian()£¬µ÷Ó÷½·¨Îªnumpy.median(x,[axis])£¬axis¿ÉÖ¸¶¨Öá·½Ïò£¬Ä¬ÈÏaxis=None£¬¶ÔËùÓÐÊýÈ¥ÖÐÖµ¡£
ÇóºÍ£º
¾ØÕóÇóºÍµÄº¯ÊýÊÇsum()£¬¿ÉÒÔ¶ÔÐУ¬ÁУ¬»òÕû¸ö¾ØÕóÇóºÍ
ÀÛ»ýºÍ£º
ijλÖÃÀÛ»ýºÍÖ¸µÄÊǸÃλÖÃ֮ǰ(°üÀ¨¸ÃλÖÃ)ËùÓÐÔªËØµÄºÍ¡£
ÀýÈçÐòÁÐ[1,2,3,4,5]£¬ÆäÀۼƺÍΪ[1,3,6,10,15]£¬¼´µÚÒ»¸öÔªËØÎª1£¬µÚ¶þ¸öÔªËØÎª1+2=3£¬¡¡£¬µÚÎå¸öÔªËØÎª1+2+3+4+5=15¡£
¾ØÕóÇóÀÛ»ýºÍµÄº¯ÊýÊÇcumsum()£¬¿ÉÒÔ¶ÔÐУ¬ÁУ¬»òÕû¸ö¾ØÕóÇóÀÛ»ýºÍ¡£
ͼÏñµÄÊý×é±íʾ
¼ÆËã»úÔÚ´¦ÀíÒ»·ùͼÏñʱ£¬ÆäʵÊÇ´¦ÀíµÄ³ÉǧÉÏÍò¸öÏñËØÊý¾Ý£¬µ±ÎÒÃÇÔØÈëÒ»·ùͼÏñʱ£¬ÎÒÃÇ¿ÉÒԲ鿴ËüµÄÊôÐÔºÍÀàÐÍ
µ±ÊäÈëÈçÏ´úÂ룺
im = array(Image.open('test.jpg'))
print(im.shape)
print(im.dtype) |
ÎÒÃǾͻáÓÐÈçÏÂÊä³ö£º

À¨ºÅÖеÄÈý¸öÊý·Ö±ð´ú±í£¨ÐУ¬ÁУ¬ÑÕɫͨµÀ£©£¬dtypeÔòÏÔʾ³öÊý×éÔªËØµÄÊý¾ÝÀàÐÍ¡£
¶ÔÓÚ»Ò¶ÈͼÏñ£º
im = array(Image.open('test.jpg').convert('L'),'f')
print(im.shape)
print(im.dtype) |
Êä³ö½á¹ûΪ£º

Êä³ö´Ë½á¹ûµÄÔÒòÊǶÔͼÏñ½øÐÐÁ˻ҶȻ¯´¦Àí£¬²¢ÇÒÔÚ´´½¨Êý×éʱʹÓÃÁ˶îÍâµÄ²ÎÊý¡°f¡±½«Êý¾ÝÀàÐͱä³ÉÁ˸¡µãÐÍ¡£
»Ò¶È±ä»»
½«Í¼Ïñ¶ÁÈëNumpyÊý×é¶ÔÏóÖ®ºó£¬ÎÒÃÇ¿ÉÒÔ¶ÔËûÃÇÖ´ÐÐÈÎÒâµÄÊý×Ö²Ù×÷£¬Ò»¸ö¼òµ¥µÄÀý×Ó¾ÍÊÇͼÏñµÄ»Ò¶È±ä»»¡£¿¼ÂÇÈÎÒ⺯ÊýfËü½«0...255Çø¼ä£¨»òÕß0...1Çø¼ä£©Ó³Éäµ½×ÔÉí£¨¼´ÊäÈëÇø¼äºÍÊä³öÇø¼äµÄ·¶Î§Ïàͬ£©¡£ÏÂÃæÊǹØÓڻҶȱ任µÄһЩÀý×Ó¡£
Çë¿´ÏÂÃæ´úÂ룺
from PIL import
Image
from numpy import *
image = array(Image.open('test.jpg').convert('L'))
fig = plt.figure(figsize=(30, 30))
plt.subplot(4, 1, 1)
plt.imshow(image, cmap=cm.gray)
plt.axis("off")
plt.subplot(4, 1, 2)
image1 = 255 - image
plt.imshow(image1, cmap=cm.gray)
plt.axis("off")
plt.subplot(4, 1, 3)
imgae2 = (image / 255.0) * 100 + 100
data2 = np.array(image2)
plt.imshow(data2, cmap=cm.gray)
plt.axis("off")
plt.subplot(4, 1, 4)
imgae3 = 255.0 * (image / 255.0) ** 2
data3 = np.array(image3)
plt.imshow(data3, cmap=cm.gray)
plt.axis("off") |
plt.show()Êä³öͼÏñÈçÏ£º




ÉÏÃæµÄ´úÂëÖУ¬ÎÒÃÇÊ×ÏȶÁÈëÁËÒ»Ò»¸±Í¼Ïñ²¢½«Ëüת»»³ÉÁ˻ҶÈͼÏñ£¬²¢ÇÒ»æÖƳöÔʼ»Ò¶ÈͼÏñ£»
µÚ¶þ²½£¬ÎÒÃÇÀûÓÃ255¼õȥÿһ¸öÏñËØÖµ±ãÏ൱ÓÚ¶ÔͼÏñ½øÐÐÁË·´Ïà´¦Àí¡£ÔÚ¼ÆËã»úÖУ¬µ±ÒÔRGBģʽ±íʾÑÕɫʱ£¬·´ÏàµÄʵÏÖÊÇÓÃ255£¨Ç°ÌáÊÇR/G/B¶¼ÊÇ8λµÄ£©·Ö±ð¼õÈ¥R£¬G£¬BµÄÖµ£¬µÃµ½µÄ¼´Îª·´Ïà¶ÔÓ¦µÄRGBÖµ¡£¶ÔÓÚ»Ò¶ÈͼÏñÀ´Ëµ£¬·´Ïà¾ÍÊǺڱä°×£¬°×±äºÚ£¬Éú³ÉµÚ¶þ·ùͼÏñ£»
µÚÈý²½£¬ÎÒÃǽ«Ôʼ»Ò¶ÈͼÏñµÄÏñËØÖµ±ä»»µ½£¨100£¬200£©Õâ¸öÇø¼ä£¬Éú³ÉµÚÈý·ùͼÏñ£»
µÚËIJ½£¬ÎÒÃÇÀûÓñ任º¯Êý¶Ô»Ò¶ÈͼÏñ½øÐб任£¬¿ÉÒÔÍ»³ö»Ò¶ÈͼÏñµÄÄ³Ð©ÌØÕ÷¡£
±ä»»º¯ÊýµÄͼÏñÈçÏÂͼ×ó±ßËùʾ£¬ÓÒ±ßΪ¶ÔÓ¦±ä»»ºóµÄͼÏñ¡£

|