ホームページ バックエンド開発 Python チュートリアル python使用Image处理图片常用技巧分析

python使用Image处理图片常用技巧分析

Jun 10, 2016 pm 03:11 PM
image python 写真を加工する

本文实例讲述了python使用Image处理图片常用技巧。分享给大家供大家参考。具体分析如下:

使用python来处理图片是非常方便的,下面提供一小段python处理图片的代码,需要安装图像处理工具包PIL(Python Image Library)。

#coding=utf-8
import Image
import urllib2
import StringIO
import os
#改变图片大小
def resize_img(img_path):
  try:
    img = Image.open(img_path)
    (width,height) = img.size
    new_width = 200
    new_height = height * new_width / width
    out = img.resize((new_width,new_height),Image.ANTIALIAS)
    ext = os.path.splitext(img_path)[1]
    new_file_name = '%s%s' %('small',ext)
    out.save(new_file_name,quality=95)
  except Exception,e:
    print e
#改变图片类型
def change_img_type(img_path):
  try:
    img = Image.open(img_path)
    img.save('new_type.png')
  except Exception,e:
    print e
#处理远程图片
def handle_remote_img(img_url):
  try:
    request = urllib2.Request(img_url)
    img_data = urllib2.urlopen(request).read()
    img_buffer = StringIO.StringIO(img_data)
    img = Image.open(img_buffer)
    img.save('remote.jpg')
    (width,height) = img.size
    out = img.resize((200,height * 200 / width),Image.ANTIALIAS)
    out.save('remote_small.jpg')
  except Exception,e:
    print e
if __name__ == '__main__':
  img_path = 'test.jpg'
  resize_img(img_path)
  change_img_type(img_path)
  img_url = 'http://img.hb.aicdn.com/042f8a4a70239f724ff7b9fa0fc8edf18658f41022ada-WcItWE_fw554'
  handle_remote_img(img_url)
ログイン後にコピー

可能会遇到的问题

ImportError: No module named Image

解决办法:安装Python Imaging Library(PIL)

复制代码 代码如下:
sudo easy_install PIL
安装PIL出现:
— JPEG support not available

— ZLIB (PNG/ZIP) support not available

— FREETYPE2 support not available

操作jpeg图片和png图片出现:

IOError: decoder jpeg not available 和 IOError: encoder zip not available

解决办法:
(1) 删除已经安装的PIL

复制代码 代码如下:
sudo rm -rf /usr/local/lib/python2.6/site-packages/PIL-1.1.7-py2.6-linux-x86_64.egg/
(2) 安装相关库
复制代码 代码如下:
sudo apt-get install libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev
sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/
sudo ln -s /usr/lib/x86_64-linux-gnu/libz.so /usr/lib/
(3) 重新安装PIL
复制代码 代码如下:
sudo easy_install PIL
终端出现:

— JPEG support available
— ZLIB (PNG/ZIP) support available
— FREETYPE2 support available

现在试试,已经ok了

希望本文所述对大家的Python程序设计有所帮助。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Deepseek Xiaomiをダウンロードする方法 Deepseek Xiaomiをダウンロードする方法 Feb 19, 2025 pm 05:27 PM

Deepseek Xiaomiをダウンロードする方法

テンプレートのメリットとデメリットは何ですか? テンプレートのメリットとデメリットは何ですか? May 08, 2024 pm 03:51 PM

テンプレートのメリットとデメリットは何ですか?

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表 Jul 01, 2024 am 07:22 AM

Google AI、開発者向けに Gemini 1.5 Pro と Gemma 2 を発表

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます May 06, 2024 pm 03:52 PM

わずか 250 ドルで、Hugging Face のテクニカル ディレクターが Llama 3 を段階的に微調整する方法を教えます

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する May 06, 2024 pm 04:43 PM

いくつかの .NET オープンソース AI および LLM 関連プロジェクト フレームワークを共有する

golang 関数のデバッグと分析の完全ガイド golang 関数のデバッグと分析の完全ガイド May 06, 2024 pm 02:00 PM

golang 関数のデバッグと分析の完全ガイド

どうやって彼にdeepseekに尋ねますか どうやって彼にdeepseekに尋ねますか Feb 19, 2025 pm 04:42 PM

どうやって彼にdeepseekに尋ねますか

評価関数の保存方法 評価関数の保存方法 May 07, 2024 am 01:09 AM

評価関数の保存方法

See all articles