ÒÔPython Imaging Library ½øÐÐÓ°Ïñ×ÊÁÏ´¦ÀíPIL
1 Ó°ÏñÓëͼÐÎ×ÊÁϵĴ¦Àí
ÌÖÂÛͼÐÎ(Ó°Ïñ) ±¾ÉíµÄ´¦Àí£¬¶øÌÖÂÛµÄÄÚÈݽ«»á¼¯ÖÐÔÚPython Imaging Library (PIL) ÕâÒ»Ì׳Ìʽ¿âÉÏ¡£
PIL ÊÇPython ÏÂ×îÓÐÃûµÄÓ°Ïñ´¦ÀíÌ×¼þ£¬ÓÉÐí¶à²»Í¬µÄÄ£×éËù×é³É£¬²¢ÇÒÌṩÁËÐí¶àµÄ´¦Àí¹¦ÄÜ£¬ÔÊÐíÎÒÃÇÔÚ¼òµ¥µÄPython ³ÌʽÀï½øÐÐÓ°ÏñµÄ´¦Àí¡£ ʹÓÃÏñPIL ÐíÑùµÄ³Ìʽ¿âÌ×¼þ¿ÉÒÔ°ïÖúÎÒÃǰѾ«Á¦¼¯ÖÐÔÚÓ°Ïñ´¦ÀíµÄ¹¤×÷±¾Éí£¬±ÜÃâÃÔʧÔڵײãµÄÑÝËã·¨ÀïÃæ¡£
ÓÉÓÚÓ°Ïñ´¦ÀíÇ£Éæµ½ÁË´óÁ¿µÄÊýѧÔËË㣬Òò´ËPIL ÖÐÓÐÐí¶àµÄÄ£×éÊÇÓÃC ÓïÑÔËùд³ÉµÄ£¬ÒÔÌáÉý´¦ÀíµÄЧÂÊ¡£ ²»¹ý£¬ÔÚʹÓõÄʱºò£¬ÎÒÃǵ±È»²»±ØÔÚÒâÕâÑùµÄÎÊÌ⣬ֻ¹Ü·ÅÐĵØÓþÍÊÇÁË¡£
1.1 PIL ÄÜΪÄã×÷µÄÊÂ
PIL ¾ß±¸(µ«²»ÏÞÓÚ) ÒÔϵÄÄÜÁ¦£º
ÊýÊ®ÖÖͼµµ¸ñʽµÄ¶ÁдÄÜÁ¦¡£ ³£¼ûµÄJPEG, PNG, BMP, GIF, TIFF µÈ¸ñʽ£¬¶¼ÔÚPIL µÄÖ§Ô®Ö®ÁС£ ÁíÍ⣬PIL Ò²Ö§Ô®ºÚ°×¡¢»Ò½×¡¢×Ô¶©µ÷É«ÅÌ¡¢RGB true color¡¢´øÓÐ͸Ã÷ÊôÐÔµÄRBG true color¡¢CMYK ¼°ÆäËüÊýÖÖµÄÓ°Ïñģʽ¡£Ï൱ÆëÈ«¡£
»ù±¾µÄÓ°Ïñ×ÊÁϲÙ×÷£º²ÃÇС¢Æ½ÒÆ¡¢Ðýת¡¢¸Ä±ä³ß´ç¡¢µ÷ÖÃ(transpose)¡¢¼ôÏÂÓëÌùÉϵȵȡ£
Ç¿»¯Í¼ÐΣºÁÁ¶È¡¢É«µ÷¡¢¶Ô±È¡¢ÈñÀû¶È¡£
É«²Ê´¦Àí¡£
PIL ÌṩʮÊýÖÖÂ˾µ(filter)¡£ µ±È»£¬Õâ¸öÊýĿԶԶ²»ÄÜÓëPhotoshop® »òGIMP® ÕâÑùµÄ×¨ÒµÌØÐ§´¦ÀíÈíÌåÏà±È£»µ«PIL ÌṩµÄÕâЩÂ˾µ¿ÉÒÔÓÃÔÚPython ³ÌʽÀïÃæ£¬ÌṩÅú´Î»¯´¦ÀíµÄÄÜÁ¦¡£
PIL ¿ÉÒÔÔÚÓ°ÏñÖлæÍ¼ÖƵ㡢Ïß¡¢Ãæ¡¢¼¸ºÎÐÎ×´¡¢ÌîÂú¡¢ÎÄ×ֵȵȡ£
½ÓÏÂÀ´£¬ÎÒÃÇ¿ªÊ¼Ò»²½Ò»²½µØ¶ÔPython/PIL µÄÓ°Ïñ´¦Àí³ÌʽÉè¼Æ½øÐÐÌÖÂÛ¡£
2 ת»»Í¼µµ¸ñʽ
ÊÐÃæÉÏÓÐÐí¶àÓ°Ïñ´¦Àí³Ìʽ£¬Ò»°ãÈË×î³£ÓÃËüÃÇÀ´´¦ÀíµÄ¹¤×÷´ó¸Å¾ÍÊÇͼµµ¸ñʽת»»ÁË£»ÕâÊÇÓ°Ïñ´¦ÀíÈíÌå×î»ù±¾µÄ¹¦ÄÜ£¬PIL µ±È»Ò²ÒªÖ§Ô®¡£
¼ÙÉèÎÒÃÇÓÐÒ»¸öJPGµµ°¸£¬Ãû×Ö½Ð×÷ sample01.jpg£¬ÄÇô£¬ÒÔϵijÌʽ»á°ÑÕâ¸öµµ°¸ÔØÈëPython£º
“”>“µ¼ÈëͼÏñ”>“”£¨ÔÚ= Image.open“sample01.jpg”£©
im Õâ¸öÎï¼þÊÇÓÉ Image.open() ·½·¨Ëù²úÉú³öÀ´µÄ Image Îï¼þ¡£ ÎÒÃÇ¿ÉÒÔÓà Image Îï¼þÄÚµÄÊôÐÔÀ´²éѯ¹ØÓڴ˵µ°¸µÄ×ÊѶ£º
“”>“´òÓ¡im.format£¬im.size£¬im.modeµÄJPEG£¨2288£¬1712£©µÄRGB
¸ñʽ×Ö´®·ÅÔÚ format ÊôÐÔÀ³ß´ç·ÅÔÚ size ÊôÐÔÀ¶ø(µ÷É«ÅÌ)ģʽ·ÅÔÚ mode ÊôÐÔÀï¡£&nb
Ïà¹ØÎĵµ£º
ÕýÔò±í´ïʽÊÇËÑË÷¡¢Ìæ»»ºÍ½âÎö¸´ÔÓ×Ö·ûģʽµÄÒ»ÖÖÇ¿´ó¶ø±ê×¼µÄ·½·¨.
ÕýÔò±í´ïʽ£¨»ò RE£©ÊÇÒ»ÖÖСÐ͵ġ¢¸ß¶Èרҵ»¯µÄ±à³ÌÓïÑÔ£¬£¨ÔÚPythonÖУ©ËüÄÚǶÔÚPythonÖУ¬²¢Í¨¹ý re Ä£¿éʵÏÖ.×Ö·û´®Ò²Óкܶ෽·¨,¿ÉÒÔ½øÐÐËÑË÷ (index¡¢find ºÍ count)¡¢Ìæ»» (replace) ºÍ½â
Îö (split),µ«ËüÃǽöÏÞÓÚ´¦Àí×î¼òµ¥µÄÇé¿ö
re Ä£¿éʹ P ......
1. What’s the difference between all of the os.popen() methods?
popen2 doesn't capture standard error, popen3 does capture standard
error and gives a unique file handle for it. Finally, popen4 captures
standard error but includes it in the same file object as standard
output.
os.popen()&n ......
Python ×Ö·û´®
×Ö·û´®ÊÇ ×Ö·ûµÄÐòÁÐ ¡£×Ö·û´®»ù±¾ÉϾÍÊÇÒ»×éµ¥´Ê¡£
ÎÒ¼¸ºõ¿ÉÒÔ±£Ö¤ÄãÔÚÿ¸öPython³ÌÐòÖж¼ÒªÓõ½×Ö·û´®£¬ËùÒÔÇëÌØ±ðÁôÐÄÏÂÃæÕⲿ·ÖµÄÄÚÈÝ¡£ÏÂÃæ¸æËßÄãÈçºÎÔÚPythonÖÐʹÓÃ×Ö·û´®¡£
ʹÓõ¥ÒýºÅ£¨'£©
Äã¿ÉÒÔÓõ¥ÒýºÅָʾ×Ö·û´®£¬¾ÍÈçͬ'Quote me on this'ÕâÑù¡£ËùÓеĿհף¬¼´¿Õ¸ñºÍÖÆ±í·û¶¼ÕÕÔÑù±£Áô¡£ ......
formatter Ä£¿é
formatter Ä£¿éÌṩÁËһЩ¿ÉÓÃÓÚ htmllib µÄ¸ñʽÀà( formatter classes ).
ÕâЩÀàÓÐÁ½ÖÖ, formatter ºÍ writer . formatter ½« HTML ½âÎöÆ÷µÄ±êÇ©ºÍÊý¾ÝÁ÷ת»»ÎªÊʺÏÊä³öÉ豸µÄʼþÁ÷( event stream ), ¶ø writer ½«Ê¼þÁ÷Êä³öµ½É豸ÉÏ.
´ó¶àÇé¿öÏÂ, Äã¿ÉÒÔʹÓà AbstractFormatter Àà½øÐиñʽ»¯. Ëü»á¸ù¾ ......