pilpython27
1. python中用PIL庫批量給圖片加上序號的教程
這篇文章主要介紹了Python中用PIL庫批量給圖片加上序號的教程,PIL庫是Python中一個非常強大的處理圖片的庫,需要的朋友可以參考下
女友讓我給她論文的圖片上加上字母序號,本來覺得是個很簡單的事情,但那個白底黑字的圓圈序號卻難住了我,
試了幾個常用的軟體,都不行。
後來用
PS
+
動作,倒是能搞出來,不過也不容易,正好那天沒搞完,於是拿回自己家做,但我的電腦上又沒有
PS,
所以就用
python
實現了。
效果圖
這里用的圖片全是
240X240
的,按文件名的首字母作為序號,PIL
雖然可以計算文字的尺寸,但類似
D
這樣的字元依然不能處於圓圈的正中,所以還對個別字元做了偏移設置,本來想用
aggdraw
畫圓圈的,能平滑
一些,不過安裝了好幾次,都以失敗告終,最終放棄。
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env
python
#-*-
coding:
utf-8
-*-
import
os,
sys,
fnmatch
import
Image,
ImageDraw,
ImageFont
def
process_picture(filename):
seq
=
os.path.split(filename)[-1][0].upper()
img
=
Image.open(os.path.join(input_dir,
filename))
draw
=
ImageDraw.Draw(img)
#
在右下角畫白底黑框圓圈
draw.ellipse((215,
215,
235,
235),
outline='black',
fill='white')
#
將字母序號寫入到圓圈內
font
=
ImageFont.truetype('fonts/Times
New
Roman.ttf',
20)
#
計算文字居中的位置
text_size
=
draw.textsize(seq,
font)
x
=
(20
/
2)
-
(text_size[0]
/
2)
y
=
(20
/
2)
-
(text_size[1]
/
2)
#
字母偏移量
offsets
=
{'A':
1,
'B':
1,
'E':
1,
'D':
2}
offset
=
offsets.get(seq,
0)
draw.text((215
+
x
+
offset,
215
+
y),
seq,
font=font,
fill='black')
#
save
image
img.save(os.path.join(output_dir,
filename),
'JPEG')
if
__name__
==
'__main__':
if
len(sys.argv)
<
3:
print
'Usage:
python
drawseq.py
<input_dir>
<output_dir>'
sys.exit(1)
input_dir,
output_dir
=
sys.argv[1:3]
os.path.exists(output_dir)
or
os.makedirs(output_dir)
for
filename
in
os.listdir(input_dir):
if
fnmatch.fnmatch(filename.lower(),
'*.jpg'):
process_picture(filename)
註:更多精彩教程請關注三聯圖文教程
頻道,
2. 如何python pil開發圖像識別
1. 簡介。
圖像處理是一門應用非常廣的技術,而擁有非常豐富第三方擴展庫的 Python 當然不會錯過這一門盛宴。PIL (Python Imaging Library)是 Python 中最常用的圖像處理庫,目前版本為 1.1.7,我們可以在這里下載學習和查找資料。
Image 類是 PIL 庫中一個非常重要的類,通過這個類來創建實例可以有直接載入圖像文件,讀取處理過的圖像和通過抓取的方法得到的圖像這三種方法。
2. 使用。
導入 Image 模塊。然後通過 Image 類中的 open 方法即可載入一個圖像文件。如果載入文件失敗,則會引起一個 IOError ;若無返回錯誤,則 open 函數返回一個 Image 對象。現在,我們可以通過一些對象屬性來檢查文件內容,即:
1 >>> import Image
2 >>> im = Image.open("j.jpg")
3 >>> print im.format, im.size, im.mode
4 JPEG (440, 330) RGB
這里有三個屬性,我們逐一了解。
format : 識別圖像的源格式,如果該文件不是從文件中讀取的,則被置為 None 值。
size : 返回的一個元組,有兩個元素,其值為象素意義上的寬和高。
mode : RGB(true color image),此外還有,L(luminance),CMTK(pre-press image)。
現在,我們可以使用一些在 Image 類中定義的方法來操作已讀取的圖像實例。比如,顯示最新載入的圖像:
1 >>>im.show()
2 >>>
輸出原圖:
3.5 更多關於圖像文件的讀取。
最基本的方式:im = Image.open("filename")
類文件讀取:fp = open("filename", "rb"); im = Image.open(fp)
字元串數據讀取:import StringIO; im = Image.open(StringIO.StringIO(buffer))
從歸檔文件讀取:import TarIO; fp = TarIo.TarIO("Image.tar", "Image/test/lena.ppm"); im = Image.open(fp)
基本的 PIL 目前就練習到這里。其他函數的功能可點擊這里進一步閱讀。
3. python pil 識別驗證嗎
Python 2.7
IDE Pycharm 5.0.3
Firefox瀏覽器:47.0.1
Selenium:Selenium的介紹及使用,強烈推薦@ Eastmount的博客
PIL : Pillow-3.3.0-cp27-cp27m-win_amd64.whlPIL第三方庫的下載,win下安裝whl文件
Pytesser:依賴於PIL ,Tesseract了解pytesser及基本使用
Tesseract:3.0.2tesseract下載及安裝
- 我有個理想,就是把TMD教務系統弄崩潰,我港真的!1
扯淡
我相信每個腳本都有自己的故事,我這個腳本來源於自己GRD教務系統,每次進行登錄時,即使我輸入全部正確,第一次登錄一定是登不上去的!我不知道設計人員什麼想法?難道是為了反爬機制?你以為一次登不上,我tm就不爬了?我要是不高興了,信不信秒秒鍾訪問你1000+讓大家都上不去咯~咳咳,有點跑題了。
4. python2.7導入了pil還是找不到rotate怎麼辦
pycrypto模塊好像是用命令pythonsetup.pyinstall安裝打開命令提示符,切換到解壓後的crypto模塊文件夾,輸入命令C:\python33\pythonsetup.pyinstall回車安裝模塊
5. python如何安裝pil庫
PIL:Python Imaging Library,已經是Python平台事實上的圖像處理標准庫了。
由於PIL僅支持到Python 2.7,加上年久失修,於是一群志願者在PIL的基礎上創建了兼容的版本,名字叫Pillow,支持最新Python 3.x,又加入了許多新特性,因此,我們可以直接安裝使用Pillow。
安裝Python時已經把pip3也備好了,可以直接使用pip3安裝PIL
命令行:pip3 install pillow
注意:
1.PIL安裝包名字的pillow
2.使用pip3命令時,是要在pip3.exe所在路徑下才能執行。一般pip3.exe是在python安裝目錄下的Script文件夾中。
更多Python相關技術文章,請訪問Python教程欄目進行學習!以上就是小編分享的關於python如何安裝pil庫的詳細內容希望對大家有所幫助,更多有關python教程請關注環球青藤其它相關文章!
6. python的pil庫如何安裝
Win + R 或者開始菜單打開「運行……」
輸入「cmd」
打開命令窗口後直接運行命令「pip install XX庫名稱」
7. python PIL無法顯示圖片,也沒有報錯啊
PIL顯示圖片是生成一個臨時圖片,再用圖片查看器打開圖片,然後刪除該圖片
在windows系統下打開臨時圖片的操作有點滯後於刪除該圖片的操作,所以會不能顯示
解決辦法如下:
編譯ImageShow.py文件,路徑類似C:\Python27\lib\site-packages\PIL\ImageShow.py
在99行左右
將原來的代碼:"start /wait %s && del /f %s" % (file, file)
修改成:"start /wait %s && PING 127.0.0.1 -n 5 > NUL && del /f %s" % (file, file)
這里引入一些無用的操作,使刪除圖片的時間稍微推後,保證打開圖片的操作完成
8. win7 64位系統 安裝了python2.7又安裝了PIL第三方64位模塊在使用時候還是報錯了
有個方法你可以試試,就是下載32位的,然後把.PY文件復制到PY安裝目錄,你就可以使用了
9. python中pil如何導入
PIL是python的第三方圖像處理庫,我們可以值cmd使用pip install pillow命令安裝pil庫,下面我們就來看一下如何導入pil庫。
python中可以使用import導入pil模塊:
主要有以下兩種導入方法:
import 模塊名1 [as 別名1], 模塊名2 [as 別名2],…:使用這種語法格式的 import 語句,會導入指定模塊中的所有成員(包括變數、函數、類等)。不僅如此,當需要使用模塊中的成員時,需用該模塊名(或別名)作為前綴,否則 Python 解釋器會報錯。
from 模塊名 import 成員名1 [as 別名1],成員名2 [as 別名2],…: 使用這種語法格式的 import 語句,只會導入模塊中指定的成員,而不是全部成員。同時,當程序中使用該成員時,無需附加任何前綴,直接使用成員名(或別名)即可。
更多Python知識請關注Python自學網。
10. python pil 怎麼安裝
關於Pillow與PIL
PIL(Python Imaging Library)是Python一個強大方便的圖像處理庫,名氣也比較大。不過只支持到Python 2.7。
PIL官方網站:http://www.pythonware.com/procts/pil/
Pillow是PIL的一個派生分支,但如今已經發展成為比PIL本身更具活力的圖像處理庫。目前最新版本是3.0.0。
Pillow的Github主頁:https://github.com/python-pillow/Pillow
Pillow的文檔(對應版本v3.0.0):https://pillow.readthedocs.org/en/latest/handbook/index.html
Pillow的文檔中文翻譯(對應版本v2.4.0):http://pillow-cn.readthedocs.org/en/latest/
Python 3.x 安裝Pillow
給Python安裝Pillow非常簡單,使用pip或easy_install只要一行代碼即可。
在命令行使用PIP安裝:
pip install Pillow
或在命令行使用easy_install安裝:
easy_install Pillow
安裝完成後,使用from PIL import Image就引用使用庫了。比如:
from PIL import Image
im = Image.open("bride.jpg")
im.rotate(45).show()