Python练习 | Python之图像的基本操作和处理
博主github:https://github.com/MichaelBeechan
博主CSDN:https://blog.csdn.net/u011344545
*****************************
Time:2017.5.31
Author:Michael Chan
Address:Chongqing University of Technology
Email:1252242281@qq.com?
Function:Python圖像的基本操作和處理
****************************
Python之圖像的基本操作和處理
一.PIL
PIL(Python Imaging Library,圖像處理類庫)提供了通用的圖像處理功能,以及大量有用的基本圖像操作,比如圖像縮放、裁剪、旋轉、顏色轉換等。利用 PIL 中的函數,我們可以從大多數圖像格式的文件中讀取數據,然后寫入最常見的圖像格式文件中。PIL 中最重要的模塊為 Image。
To load an image from a file, use the?open?function in the?Image?module.
>>>from PIL import Image
>>>im = Image.open(‘11.jpg’).convert(‘L’)
>>>print im.format, im.size, im.mode
>>>im.show()
?The?mode?attribute defines the number and names of the bands in the image, and also the pixel type and depth. Common modes are?“L”?(luminance) for greyscale images,?“RGB”?for true colour images, and?“CMYK”?for pre-press images.
圖像的顏色轉換可以使用 convert() 方法來實現。要讀取一幅圖像,并將其轉換成
灰度圖像,只需要加上 convert('L')。
二.os模塊:
python編程時,經常和文件、目錄打交道,這是就離不了os模塊。os模塊包含普遍的操作系統功能,與具體的平臺無關。以下列舉常用的命令:
1.?os.name()——判斷現在正在實用的平臺,Windows 返回 ‘nt'; Linux 返回’posix'
2. os.getcwd()——得到當前工作的目錄。
3. os.listdir()——指定所有目錄下所有的文件和目錄名。
4. os.remove()——刪除指定文件
5. os.rmdir()——刪除指定目錄
6. os.mkdir()——創建目錄
注意:這樣只能建立一層,要想遞歸建立可用:os.makedirs()
7. os.path.isfile()——判斷指定對象是否為文件。是返回True,否則False
8. os.path.isdir()——判斷指定對象是否為目錄。是True,否則False。
9. os.path.exists()——檢驗指定的對象是否存在。是True,否則False.
10. os.path.split()——返回路徑的目錄和文件名。
11. os.getcwd()——獲得當前工作的目錄(get current work dir)
12. os.system()——執行shell命令。
注意:此處運行shell命令時,如果要調用python之前的變量,可以用如下方式:
var=123
os.environ['var']=str(var) //注意此處[]內得是 “字符串”
os.system('echo $var')
13. os.chdir()——改變目錄到指定目錄
14. os.path.getsize()——獲得文件的大小,如果為目錄,返回0
15. os.path.abspath()——獲得絕對路徑。
16. os.path.join(path, name)——連接目錄和文件名。
17.os.path.basename(path)——返回文件名
18. os.path.dirname(path)——返回文件路徑
19. 獲得程序所在的實際目錄
import os
import sys
if __name__ == "__main__":
????print os.path.realpath(sys.argv[0])
????print os.path.split(os.path.realpath(sys.argv[0]))
????print os.path.split(os.path.realpath(sys.argv[0]))[0]
運行結果:
E:\python 2.7.13
('E:\\', 'python 2.7.13')
E:\
三.python os.path模塊
os.path.abspath(path) #返回絕對路徑
os.path.basename(path) #返回文件名
os.path.commonprefix(list) #返回list(多個路徑)中,所有path共有的最長的路徑。
os.path.dirname(path) #返回文件路徑
os.path.exists(path) ?#路徑存在則返回True,路徑損壞返回False
os.path.lexists ?#路徑存在則返回True,路徑損壞也返回True
os.path.expanduser(path) ?#把path中包含的"~"和"~user"轉換成用戶目錄
os.path.expandvars(path) ?#根據環境變量的值替換path中包含的”$name”和”${name}”
os.path.getatime(path) ?#返回最后一次進入此path的時間。
os.path.getmtime(path) ?#返回在此path下最后一次修改的時間。
os.path.getctime(path) ?#返回path的大小
os.path.getsize(path) ?#返回文件大小,如果文件不存在就返回錯誤
os.path.isabs(path) ?#判斷是否為絕對路徑
os.path.isfile(path) ?#判斷路徑是否為文件
os.path.isdir(path) ?#判斷路徑是否為目錄
os.path.islink(path) ?#判斷路徑是否為鏈接
os.path.ismount(path) ?#判斷路徑是否為掛載點()
os.path.join(path1[, path2[, ...]]) ?#把目錄和文件名合成一個路徑
os.path.normcase(path) ?#轉換path的大小寫和斜杠
os.path.normpath(path) ?#規范path字符串形式
os.path.realpath(path) ?#返回path的真實路徑
os.path.relpath(path[, start]) ?#從start開始計算相對路徑
os.path.samefile(path1, path2) ?#判斷目錄或文件是否相同
os.path.sameopenfile(fp1, fp2) ?#判斷fp1和fp2是否指向同一文件
os.path.samestat(stat1, stat2) ?#判斷stat tuple stat1和stat2是否指向同一個文件
os.path.split(path) ?#把路徑分割成dirname和basename,返回一個元組
os.path.splitdrive(path) ? #一般用在windows下,返回驅動器名和路徑組成的元組
os.path.splitext(path) ?#分割路徑,返回路徑名和文件擴展名的元組
os.path.splitunc(path) ?#把路徑分割為加載點與文件
os.path.walk(path, visit, arg) ?#遍歷path,進入每個目錄都調用visit函數,visit函數必須有
3個參數(arg, dirname, names),dirname表示當前目錄的目錄名,names代表當前目錄下的所有
文件名,args則為walk的第三個參數
os.path.supports_unicode_filenames ?#設置是否支持unicode路徑名
?
總結
以上是生活随笔為你收集整理的Python练习 | Python之图像的基本操作和处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python练习 | Python 可迭
- 下一篇: Python练习 | 初识Python、