日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python图像库PIL的类Image及其方法介绍

發布時間:2023/12/20 python 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python图像库PIL的类Image及其方法介绍 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python圖像庫PIL(Python Image Library)是python的第三方圖像處理庫,但是由于其強大的功能與眾多的使用人數,幾乎已經被認為是python官方圖像處理庫了。其官方主頁為:PIL。 PIL歷史悠久,原來是只支持python2.x的版本的,后來出現了移植到python3的庫pillow,pillow號稱是friendly fork for PIL,其功能和PIL差不多,但是支持python3。本文主要介紹PIL那些最常用的特性與用法,主要參考自:http://www.effbot.org/imagingbook

PIL可以做很多和圖像處理相關的事情:

  • 圖像歸檔(Image Archives)。PIL非常適合于圖像歸檔以及圖像的批處理任務。你可以使用PIL創建縮略圖,轉換圖像格式,打印圖像等等。
  • 圖像展示(Image Display)。PIL較新的版本支持包括Tk PhotoImage,BitmapImage還有Windows DIB等接口。PIL支持眾多的GUI框架接口,可以用于圖像展示。
  • 圖像處理(Image Processing)。PIL包括了基礎的圖像處理函數,包括對點的處理,使用眾多的卷積核(convolution kernels)做過濾(filter),還有顏色空間的轉換。PIL庫同樣支持圖像的大小轉換,圖像旋轉,以及任意的仿射變換。PIL還有一些直方圖的方法,允許你展
  • 示圖像的一些統計特性。這個可以用來實現圖像的自動對比度增強,還有全局的統計分析等。

圖像類Image class

????Image類是PIL中的核心類,你有很多種方式來對它進行初始化,比如從文件中加載一張圖像,處理其他形式的圖像,或者是從頭創造一張圖像等。Image模塊操作的基本方法都包含于此模塊內。如opensaveconvershow…等方法。下面是PIL的 Image類中常用的方法和屬性:

open方法
? Image.open(file) ? image?
? Image.open(file, mode) ? image


要從文件加載圖像,使用 open() 函數, 在 Image 模塊(類):

代碼如下:-------------------------------------------
??? from PIL import Image???????????? ##調用庫,包含圖像類
??? im = Image.open("3d.jpg")? ##文件存在的路徑,如果沒有路徑就是當前目錄下文件
??? im.show()
運行結果:----------------------------------------------

需要知道的是在win的環境下im.show的方式為win自帶的圖像顯示應用。打開并確認給定的圖像文件。這個是一個懶操作;該函數只會讀文件頭,而真實的圖像數據直到試圖處理該數據才會從文件讀取(調用load()方法將強行加載圖像數據)。如果變量mode被設置,那必須是“r”。用戶可以使用一個字符串(表示文件名稱的字符串)或者文件對象作為變量file的值。文件對象必須實現read(),seek()和tell()方法,并且以二進制模式打開。

save方法
? im.save(outfile,options…)
? im.save(outfile, format, options…)


????? 用 Image 類的 save() 方法保存文件的文件,使用給定的文件名保存圖像。如果變量format缺省,如果可能的話,則從文件名稱的擴展名判斷文件的格式。該方法返回為空。關鍵字options為文件編寫器提供一些額外的指令。如果編寫器不能識別某個選項,它將忽略它。用戶可以使用文件對象代替文件名稱。在這種情況下,用戶必須指定文件格式。文件對象必須實現了seek()、tell()和write()方法,且其以二進制模式打開。如果方法save()因為某些原因失敗,這個方法將產生一個異常(通常為IOError異常)。如果發生了異常,該方法也有可能已經創建了文件,并向文件寫入了一些數據。如果需要的話,用戶的應用程序可以刪除這個不完整的文件。

jpg 轉換成png

#----------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im)
im.save("3d.png")???? ## 將"3d.jpg"保存為3d.png"
im = Image.open("3d.png")? ##打開新的png圖片
print(im.format, im.size, im.mode)
#-----------------------------------------------

執行 結果:

format屬性

im.format ? string or None

這個屬性標識了圖像來源,如果圖像不是從文件讀取它的值就是None。

#-----------------------------------------------

from PIL import Image
im = Image.open("3d.jpg")
print(im.format) ## 打印出格式信息
im.show()

#-----------------------------------------------

mode屬性

im.mode ? string

圖像的模式,常見的mode 有 “L” (luminance) 表示灰度圖像,“RGB”表示真彩色圖像,和 “CMYK” 表示出版圖像,表明圖像所使用像素格式。如下表為常見的nodes描述:

modesDescription
11位像素,黑白圖像,存成8位像素
L8位像素,黑白
P9位像素,使用調色板映射到任何其他模式
RGB3*8位像素,真彩
RGBA4*8位像素,真彩+透明通道
CMYK4*8位像素,印刷四色模式或彩色印刷模式
YCbCr3*8位像素,色彩視頻格式
I32位整型像素
F33位浮點型像素

?

#---------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.mode) ## 打印模式屬性
im.show()

#---------------------------------------------------------

convert方法


? im.convert(mode)? image


將當前圖像轉換為其他模式,并且返回新的圖像。當從一個調色板圖像轉換時,這個方法通過這個調色板來轉換像素。如果不對變量mode賦值,該方法將會選擇一種模式,在沒有調色板的情況下,使得圖像和調色板中的所有信息都可以被表示出來。當從一個顏色圖像轉換為黑白圖像時,PIL庫使用ITU-R601-2 luma轉換公式:


? L = R * 299/1000 + G * 587/1000 + B * 114/1000


當轉換為2位圖像(模式“1”)時,源圖像首先被轉換為黑白圖像。結果數據中大于127的值被設置為白色,其他的設置為黑色;這樣圖像會出現抖動。如果要使用其他閾值,更改閾值127,可以使用方法point()。為了去掉圖像抖動現象,可以使用dither選項。

#-----------------------------------------------

from PIL import Image
im = Image.open("3d.jpg")
new_im = im.convert('P')
print(new_im.mode)
new_im.show()
#-----------------------------------------------

?????????????????????????? P模式

?

im.convert(“P”,**options) ? image


這個與第一個方法定義一樣,但是當“RGB”圖像轉換為8位調色板圖像時能更好的處理。可供選擇的選項為:

Dither=. 控制顏色抖動。默認是FLOYDSTEINBERG,與鄰近的像素一起承擔錯誤。不使能該功能,則賦值為NONE。

Palette=. 控制調色板的產生。默認是WEB,這是標準的216色的“web palette”。要使用優化的調色板,則賦值為ADAPTIVE。

Colors=. 當選項palette為ADAPTIVE時,控制用于調色板的顏色數目。默認是最大值,即256種顏色


? im.convert(mode,matrix) ? image


使用轉換矩陣將一個“RGB”圖像轉換為“L”或者“RGB”圖像。變量matrix為4或者16元組。

#-----------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.mode)
rgb2xyz = (0.412453,0.357580, 0.180423, 0,
?????????? 0.212671,0.715160, 0.072169, 0,
?????????? 0.019334,0.119193, 0.950227, 0 )
new_im = im.convert("L", rgb2xyz)
print(new_im.mode)
new_im.show()

????????????????????????????????? 原圖?????????????????????????????????????????????????????????????? 轉換后圖

size屬性

im.size ? (width, height)
圖像的尺寸,按照像素數計算,它的返回值為寬度和高度的二元組(width, height)。

#----------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.size) ## 打印圖像尺寸
im.show()

命令行顯示圖片的尺寸為426*306。

palette屬性
? im.palette ? palette or None


顏色調色板表格。如果圖像的模式是“P”,則返回Image? Palette類的實例;否則,將為None。
如下為對非“P”模式下的圖像進行palette信息顯示。

#----------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.palette)

返回值為none

?
對圖像進行convert操作,轉換成“P”模式

#----------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
new_im = im.convert('P')
print(new_im.mode)
print(new_im.palette)

則返回值為ImagePalette類的實例。如下:

info屬性
? im.info ? dictionary
存儲圖像相關數據的字典。文件句柄使用該字典傳遞從文件中讀取的各種非圖像信息。大多數方法在返回新的圖像時都會忽略這個字典;因為字典中的鍵并非標準化的,對于一個方法,它不知道自己的操作如何影響這個字典。如果用戶需要這些信息,需要在方法open()返回時保存這個字典。

#-------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.info)

執行結果:

new方法

? Image.new(mode,size) ? image
??Image.new(mode, size,color) ? image


使用給定的變量mode和size生成新的圖像。Size是給定的寬/高二元組,這是按照像素數來計算的。對于單通道圖像,變量color只給定一個值;對于多通道圖像,變量color給定一個元組(每個通道對應一個值)。在版本1.1.4及其之后,用戶也可以用顏色的名稱,比如給變量color賦值為“red”。如果沒有對變量color賦值,圖像內容將會被全部賦值為0(為黑色)。如果變量color是空,圖像將不會被初始化,即圖像的內容全為0。這對向該圖像復制或繪制某些內容是有用的。

下面將圖像設置為128x128大小的紅色圖像:

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
n_im= Image.new("RGB", (128, 128), "#FF0000")
n_im.show()

效果如下:

?
下圖像為128x128大小的黑色圖像,因為變量color不賦值的話,圖像內容被設置為0,即黑色

#------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
n_im= Image.new("RGB", (128, 128))
n_im.show()

圖像為128x128大小的綠色圖像

#----------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
n_im= Image.new("RGB", (128, 128),"green")
n_im.show()

Copy方法


? im.copy() ? image


拷貝這個圖像。如果用戶想粘貼一些數據到這張圖,可以使用這個方法,但是原始圖像不會受到影響。
from PIL import Image
im = Image.open("3d.jpg")
im_copy = im.copy()

圖像im_copy和im完全一樣。

crop方法

?im.crop(box) ? image


從當前的圖像中返回一個矩形區域的拷貝。變量box是一個四元組,定義了左、上、右和下的像素坐標。用來表示在原始圖像中截取的位置坐標,如box(100,100,200,200)就表示在原始圖像中以左上角為坐標原點,截取一個100*100(像素為單位)的圖像,為方便理解,如下為示意圖box(b1,a1,b2,a2)。作圖軟件為Visio2016。這是一個懶操作。對源圖像的改變可能或者可能不體現在裁減下來的圖像中。為了獲取一個分離的拷貝,對裁剪的拷貝調用方法load()。

#-------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
box = (20, 30, 300, 200)????????????? ##確定拷貝區域大小
region = im.crop(box)?????????????????? ##將im表示的圖片對象拷貝到region中,大小為box
region.show()

#-------------------------------------

paste方法

? im.paste(image,box)

將一張圖粘貼到另一張圖像上。變量box或者是一個給定左上角的2元組,或者是定義了左,上,右和下像素坐標的4元組,或者為空(與(0,0)一樣)。如果給定4元組,被粘貼的圖像的尺寸必須與區域尺寸一樣。如果模式不匹配,被粘貼的圖像將被轉換為當前圖像的模式。

#-------------------------------------

from PIL import Image
im = Image.open("3d.jpg")
box=[0,0,100,100]
im_crop = im.crop(box)
print(im_crop.size,im_crop.mode)
im.paste(im_crop, (100,100))???????????? ##(100,100,0,0)
im.paste(im_crop, (400,400,500,500))
im.show()

#-------------------------------------

filter方法

? im.filter(filter) ? image

返回一個使用給定濾波器處理過的圖像的拷貝。具體參考圖像濾波在ImageFilter 模塊的應用,在該模塊中,預先定義了很多增強濾波器,可以通過filter( )函數使用,預定義濾波器包括:BLUR、CONTOUR、DETAIL、EDGE_ENHANCE、EDGE_ENHANCE_MORE、EMBOSS、FIND_EDGES、SMOOTH、SMOOTH_MORE、SHARPEN。其中BLUR就是均值濾波,CONTOUR找輪廓,FIND_EDGES邊緣檢測,使用該模塊時,需先導入。

#-------------------------------------

from PIL import Image
from PIL import ImageFilter???????????????????????? ## 調取ImageFilter
imgF = Image.open("3d.jpg")
bluF = imgF.filter(ImageFilter.BLUR)??????????????? ##均值濾波
conF = imgF.filter(ImageFilter.CONTOUR)???????????? ##找輪廓
edgeF = imgF.filter(ImageFilter.FIND_EDGES)???????? ##邊緣檢測
imgF.show()
bluF.show()
conF.show()
edgeF.show()

#------------------------------------

blend方法

Image.blend(image1,image2, alpha) ? image

使用給定的兩張圖像及透明度變量alpha,插值出一張新的圖像。這兩張圖像必須有一樣的尺寸和模式。

? 合成公式為:out = image1 (1.0 - alpha) + image2? alpha

若變量alpha為0.0,返回第一張圖像的拷貝。若變量alpha為1.0,將返回第二張圖像的拷貝。對變量alpha的值無限制。

#-------------------------------------

from PIL import Image
im1 = Image.open("3d.jpg")
im2 = Image.open("3dd.jpg")
print(im1.mode,im1.size)
print(im2.mode,im2.size)
im = Image.blend(im1, im2, 0.40)
im.show()

#-------------------------------------

需保證兩張圖像的模式和大小是一致的。
im1按照40%的透明度,im2按照60%的透明度,合成為一張。


split方法

?im.split() ? sequence


返回當前圖像各個通道組成的一個元組。例如,分離一個“RGB”圖像將產生三個新的圖像,分別對應原始圖像的每個通道(紅,綠,藍)。

?

#-------------------------------------

from PIL import Image
im = Image.open("3d.jpg")
r,g,b = im.split()
print(r.mode)
print(r.size)
print(im.size)

#-------------------------------------

composite方法

Image.composite(image1,image2, mask) ? image


復合類使用給定的兩張圖像及mask圖像作為透明度,插值出一張新的圖像。變量mask圖像的模式可以為“1”,“L”或者“RGBA”。所有圖像必須有相同的尺寸。

?

#-------------------------------------

from PIL import Image
im1 = Image.open("3d.jpg")
im2 = Image.open("3dd.jpg")
r,g,b = im1.split()???????????? ##分離出r,g,b
print(b.mode)
print(im1.mode,im1.size)
print(im2.mode,im2.size)
im = Image.composite(im1,im2,b)
im.show()

#-------------------------------------

b.mode為”L”,兩圖尺寸一致。

?

eval方法

? Image.eval(image,function) ? image

使用變量function對應的函數(該函數應該有一個參數)處理變量image所代表圖像中的每一個像素點。如果變量image所代表圖像有多個通道,那變量function對應的函數作用于每一個通道。注意:變量function對每個像素只處理一次,所以不能使用隨機組件和其他生成器。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
def fun1(x):
??? return x*0.3
def fun2(y):
??? return y*2.0
im1_eval = Image.eval(im, fun1)
im2_eval = Image.eval(im, fun2)
im1_eval.show()
im2_eval.show()
#-------------------------------------------------------

?

merge方法

? Image.merge(mode,bands) ? image
合并類使用一些單通道圖像,創建一個新的圖像。變量bands為一個圖像的元組或者列表,每個通道的模式由變量mode描述。所有通道必須有相同的尺寸。
變量mode與變量bands的關系:


? len(ImageMode.getmode(mode).bands)= len(bands)
#-------------------------------------------------------
from PIL import Image
im1 = Image.open("3d.jpg")
im2 = Image.open("3dd.jpg")
r1,g1,b1 = im1.split()
r2,g2,b2 = im2.split()
print(r1.mode,r1.size,g1.mode,g1.size)
print(r2.mode,r2.size,g2.mode,g2.size)
new_im=[r1,g2,b2]
print(len(new_im))
im_merge = Image.merge("RGB",new_im)
im_merge.show()

#-------------------------------------------------------

?
merge操作

?

draft方法

? im.draft(mode,size)

?

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.size,im.mode)
new_im = im.draft("L", (200,200))
print(new_im.size,new_im.mode)
new_im.show()

#-------------------------------------------------------

關鍵信息顯示
轉換效果

?

getbands方法


? im.getbands()? tuple of strings


返回包括每個通道名稱的元組。例如,對于RGB圖像將返回(“R”,“G”,“B”)。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.getbands())
#-------------------------------------------------------

?

?

getbbox方法


? im.getbbox() ? 4-tuple or None


計算圖像非零區域的包圍盒。這個包圍盒是一個4元組,定義了左、上、右和下像素坐標。如果圖像是空的,這個方法將返回空。

?

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.getbbox())

#-------------------------------------------------------

getdata方法


? im.getdata() ? sequence


以包含像素值的sequence對象形式返回圖像的內容。這個sequence對象是扁平的,以便第一行的值直接跟在第零行的值后面,等等。這個方法返回的sequence對象是PIL內部數據類型,它只支持某些sequence操作,包括迭代和基礎sequence訪問。使用list(im.getdata()),將它轉換為普通的sequence。Sequence對象的每一個元素對應一個像素點的R、G和B三個值。

?

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
sequ = im.getdata()
sequ0 = list(sequ)
print(sequ0[0])
print(sequ0[1])
print(sequ0[2])

#-------------------------------------------------------

?

getextrema方法


? im.getextrema() ? 2-tuple
返回一個2元組,包括該圖像中的最小和最大值

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.getextrema())

#-------------------------------------------------------

該方法返回了R/G/B三個通道的最小和最大值的2元組。

getpixel方法


? im.getpixel(xy) ? value or tuple


返回給定位置的像素值。如果圖像為多通道,則返回一個元組。該方法執行比較慢;如果用戶需要使用python處理圖像中較大部分數據,可以使用像素訪問對象(見load),或者方法getdata()。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.getpixel((0,0)))
print(im.getpixel((4,0)))
r,g,b = im.split()
print(b.getpixel((11,8)))??

#-------------------------------------------------------

直方圖histogram方法


? im.histogram()? list


返回一個圖像的直方圖。這個直方圖是關于像素數量的list,圖像中的每個象素值對應一個成員。如果圖像有多個通道,所有通道的直方圖會連接起來(例如,“RGB”圖像的直方圖有768個值)。二值圖像(模式為“1”)當作灰度圖像(模式為“L”)處理。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
imhis = im.histogram()
print(len(imhis))
print(imhis[0])
print(imhis[150])
print(imhis[300])

#-------------------------------------------------------


? im.histogram(mask)? list
返回圖像中模板圖像非零地方的直方圖。模板圖像與處理圖像的尺寸必須相同,并且要么是二值圖像(模式為“1”),要么為灰度圖像(模式為“L”)。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
r,g,b = im.split()
imhis = im.histogram()
print(r.mode)
print(len(imhis))
print(imhis[0])
print(imhis[150])
print(imhis[300])

#-------------------------------------------------------

?

load方法

im.load()
為圖像分配內存并從文件中加載它(或者從源圖像,對于懶操作)。正常情況下,用戶不需要調用這個方法,因為在第一次訪問圖像時,Image類會自動地加載打開的圖像。目前的版本,方法load()返回一個用于讀取和修改像素的像素訪問對象。這個訪問對象像一個二維隊列,如:
? pix = im.load()
? print pix[x, y]
? pix[x, y] =value


通過這個對象訪問比方法getpixel()和putpixel()快很多。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
pix = im.load()
print(pix[0,2])

#-------------------------------------------------------
?im.paste(colour,box)


使用同一種顏色填充變量box對應的區域。對于單通道圖像,變量colour為單個顏色值;對于多通道,則為一個元組。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
im.paste((256,256,0),(0,0,100,100))? ##(256,256,0)表示黃色
im.show()

#-------------------------------------------------------

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
im.paste("blue",(0,0,100,100))?? ##或者“blue”
im.show()

#-------------------------------------------------------


? im.paste(image,box, mask)
使用變量mask對應的模板圖像來填充所對應的區域。可以使用模式為“1”、“L”或者“RGBA”的圖像作為模板圖像。模板圖像的尺寸必須與變量image對應的圖像尺寸一致。如果變量mask對應圖像的值為255,則模板圖像的值直接被拷貝過來;如果變量mask對應圖像的值為0,則保持當前圖像的原始值。變量mask對應圖像的其他值,將對兩張圖像的值進行透明融合,如果變量image對應的為“RGBA”圖像,即粘貼的圖像模式為“RGBA”,則alpha通道被忽略。用戶可以使用同樣的圖像作為原圖像和模板圖像。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
box=[300,300,400,400]
im_crop =im.crop(box)
r,g,b =im_crop.split()
im.paste(im_crop, (200,200,300,300), r)
im.show()

#-------------------------------------------------------

putdata方法

? im.putdata(data)
? im.putdata(data, scale, offset)
從sequence對象中拷貝數據到當前圖像,從圖像的左上角(0,0)位置開始。變量scale和offset用來調整sequence中的值:
? pixel = value*scale + offset
如果變量scale忽略,則默認為1.0。如果變量offset忽略,則默認為0.0。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
r, g, b = im.split()
print(r.getpixel((0, 0)),r.getpixel((1, 0)),r.getpixel((2, 0)),r.getpixel((3, 0)),r.putdata([1, 2, 3, 4]),r.getpixel((0, 0)),r.getpixel((1, 0)),r.getpixel((2, 0)),r.getpixel((3, 0)),
#-------------------------------------------------------

resize方法

? im.resize(size) ? image
? im.resize(size, filter) ? image
返回改變尺寸的圖像的拷貝。變量size是所要求的尺寸,是一個二元組:(width, height)。變量filter為NEAREST、BILINEAR、BICUBIC或者ANTIALIAS之一。如果忽略,或者圖像模式為“1”或者“P”,該變量設置為NEAREST。在當前的版本中bilinear和bicubic濾波器不能很好地適應大比例的下采樣(例如生成縮略圖)。用戶需要使用ANTIALIAS,除非速度比質量更重要。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
region = im.resize((400, 400))???? ##重新設定大小
region.show()

#-------------------------------------------------------
rotate方法

? im.rotate(angle) ? image
? im.rotate(angle,filter=NEAREST, expand=0) ? image


返回一個按照給定角度順時鐘圍繞圖像中心旋轉后的圖像拷貝。變量filter是NEAREST、BILINEAR或者BICUBIC之一。如果省略該變量,或者圖像模式為“1”或者“P”,則默認為NEAREST。變量expand,如果為true,表示輸出圖像足夠大,可以裝載旋轉后的圖像。如果為false或者缺省,則輸出圖像與輸入圖像尺寸一樣大。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
im_45 = im.rotate(45)
im_30 = im.rotate(30, Image.NEAREST,1)
print(im_45.size,im_30.size)
im_45.show()
im_30.show()

#-------------------------------------------------------

seek方法

? im.seek(frame)
在給定的文件序列中查找指定的幀。如果查找超越了序列的末尾,則產生一個EOFError異常。當文件序列被打開時,PIL庫自動指定到第0幀上。

#-------------------------------------------------------
from PIL import Image
im_gif = Image.open("miaomiao.gif")
print(im_gif.mode)
im_gif.show()??? ##第0幀
im_gif.seek(1)
im_gif.show()
im_gif.seek(3)
im_gif.show()

#-------------------------------------------------------

?

tell方法

? im.tell() ? integer


返回當前幀所處位置,從0開始計算。

#-------------------------------------------------------
from PIL import Image
im_gif = Image.open("3d.gif")
print(im_gif.tell())
im_gif.seek(8)
print(im_gif.tell())

#-------------------------------------------------------

thumbnail方法

? im.thumbnail(size)
? im.thumbnail(size, filter)
修改當前圖像,使其包含一個自身的縮略圖,該縮略圖尺寸不大于給定的尺寸。該方法計算一個合適的縮略圖尺寸,使其符合當前圖像的寬高比,調用方法draft()配置文件讀取器,最后改變圖像的尺寸。變量filter應該是NEAREST、BILINEAR、BICUBIC或者ANTIALIAS之一。如果省略該變量,則默認為NEAREST。注意:在當前PIL的版本中,濾波器bilinear和bicubic不能很好地適應縮略圖產生。用戶應該使用ANTIALIAS,圖像質量最好。如果處理速度比圖像質量更重要,可以選用其他濾波器。這個方法在原圖上進行修改。如果用戶不想修改原圖,可以使用方法copy()拷貝一個圖像。這個方法返回空。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
im.thumbnail((100,100))

#-------------------------------------------------------

?

transform方法
? im.transform(size,method, data) ? image
? im.transform(size, method, data, filter) ? image


用給定的尺寸生成一張新的圖像,與原圖有相同的模式,使用給定的轉換方式將原圖數據拷貝到新的圖像中。在當前的PIL版本中,參數method為EXTENT(裁剪出一個矩形區域),AFFINE(仿射變換),QUAD(將正方形轉換為矩形),MESH(一個操作映射多個正方形)或者PERSPECTIVE。變量filter定義了對原始圖像中像素的濾波器。在當前的版本中,變量filter為NEAREST、BILINEAR、BICUBIC或者ANTIALIAS之一。如果忽略,或者圖像模式為“1”或者“P”,該變量設置為NEAREST。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.size)
imtra = im.transform((200, 200), Image.EXTENT, (0, 0, 300, 300))
print(imtra.size)
imtra.show()

#-------------------------------------------------------


? im.transform(size,EXTENT, data) ? image
? im.transform(size, EXTENT, data, filter) ? image


從圖像中裁剪一個區域。變量data為指定輸入圖像中兩個坐標點的4元組(x0,y0,x1,y1)。輸出圖像為這兩個坐標點之間像素的采樣結果。例如,如果輸入圖像的(x0,y0)為輸出圖像的(0,0)點,(x1,y1)則與變量size一樣。這個方法可以用于在當前圖像中裁剪,放大,縮小或者鏡像一個任意的長方形。它比方法crop()稍慢,但是與resize操作一樣快。


? im.transform(size, AFFINE, data) ? image
? im.transform(size, AFFINE,data, filter) ? image


對當前的圖像進行仿射變換,變換結果體現在給定尺寸的新圖像中。變量data是一個6元組(a,b,c,d,e,f),包含一個仿射變換矩陣的第一個兩行。輸出圖像中的每一個像素(x,y),新值由輸入圖像的位置(ax+by+c, dx+ey+f)的像素產生,使用最接近的像素進行近似。這個方法用于原始圖像的縮放、轉換、旋轉和裁剪。

#-------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.size)
imtra = im.transform((200, 200), Image.AFFINE, (1,2,3,2,1,4))
print(imtra.size)
imtra.show()

#-------------------------------------------------------

? im.transform(size,QUAD, data) ? image
? im.transform(size, QUAD, data, filter) ? image


輸入圖像的一個四邊形(通過四個角定義的區域)映射到給定尺寸的長方形。變量data是一個8元組(x0,y0,x1,y1,x2,y2,x3,y3),它包括源四邊形的左上,左下,右下和右上四個角。

#----------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.size)
imtra = im.transform((200, 200), Image.QUAD, (0,0,0,500,600,500,600,0))
print(imtra.size)
imtra.show()

?

? im.transform(size,PERSPECTIVE, data) ? image
? im.transform(size, PERSPECTIVE, data, filter) ? image


對當前圖像進行透視變換,產生給定尺寸的新圖像。變量data是一個8元組(a,b,c,d,e,f,g,h),包括一個透視變換的系數。對于輸出圖像中的每個像素點,新的值來自于輸入圖像的位置的(a x + b y + c)/(g x + h y + 1), (d x+ e y + f)/(g x + h y + 1)像素,使用最接近的像素進行近似。這個方法用于原始圖像的2D透視。

#-----------------------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
print(im.size)
imtra = im.transform((200, 200), Image.PERSPECTIVE, (1,2,3,2,1,6,1,2))
print(imtra.size)
imtra.show()

transpose方法

? im.transpose(method)? image
返回當前圖像的翻轉或者旋轉的拷貝。變量方法的取值為:FLIP_LEFT_RIGHT,FLIP_TOP_BOTTOM,ROTATE_90,ROTATE_180,或ROTATE_270。

#---------------------------------------------------------------------------
from PIL import Image
im = Image.open("3d.jpg")
im.show()
im1=im.rotate(45)
im1.show()??????????????????????????? #逆時針旋轉 45 度角。
im2=im.transpose(Image.FLIP_LEFT_RIGHT)?????? #左右對換
im2.show()
im3=im.transpose(Image.FLIP_TOP_BOTTOM)?????? #上下對換。
im3.show()
im4=im.transpose(Image.ROTATE_90)???????????? #旋轉 90 度角。
im4.show()
im5=im.transpose(Image.ROTATE_180)??????????? #旋轉 180 度角。
im5.show()
im6=im.transpose(Image.ROTATE_270)??????????? #旋轉 270 度角。
im6.show()???????????
#------------------------------------------------------------------------------

??????

總結

以上是生活随笔為你收集整理的Python图像库PIL的类Image及其方法介绍的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

免费黄色看片 | 久久这里精品视频 | 6080yy午夜一二三区久久 | 国产三级精品三级在线观看 | 中文字幕中文字幕在线中文字幕三区 | www.av在线播放 | 在线观看免费av网 | 日日干综合 | 激情综合狠狠 | 国产精品美女久久久免费 | 亚洲h在线播放在线观看h | 婷婷色综合网 | 天天伊人狠狠 | 99久久婷婷| 狠狠网 | 深爱综合网 | 91在线免费公开视频 | 国产精品欧美激情在线观看 | 国产一区黄色 | 欧美另类tv | 国产99中文字幕 | 成人精品在线 | 日韩字幕| 亚洲理论片 | 国产精品青草综合久久久久99 | 国产视频一级 | 欧美一级片在线播放 | 热久在线 | 成人日批视频 | 超碰在线人人爱 | 色资源网免费观看视频 | 欧美日韩性视频 | 66av99精品福利视频在线 | 国产精品久久久久久欧美 | 亚洲久在线 | 国产色小视频 | 尤物九九久久国产精品的分类 | 超碰在线最新网址 | 美女黄网站视频免费 | 91av视频在线观看免费 | 成人黄色电影在线 | 九九在线国产视频 | 91av色 | 在线看小早川怜子av | 欧美黑吊大战白妞欧美 | 99亚洲精品视频 | 国产成人精品日本亚洲999 | 日韩一区二区在线免费观看 | 国产精品理论片 | 一级特黄aaa大片在线观看 | 成人试看120秒| 国产午夜精品一区 | 午夜av一区二区三区 | 日日夜夜天天综合 | 久久久网 | 国产成人精品av在线 | 激情视频在线观看网址 | 9ⅰ精品久久久久久久久中文字幕 | 久热爱| 日韩精品在线播放 | 91网页版在线观看 | 一区二区中文字幕在线播放 | 国产精品精品国产色婷婷 | 日韩精品专区在线影院重磅 | 999久久国精品免费观看网站 | 美女网站在线 | 伊香蕉大综综综合久久啪 | 91在线观看视频 | 四虎影视精品 | 中文字幕资源网 | 国产日产在线观看 | 欧美黑人xxxx猛性大交 | 色天天综合久久久久综合片 | 久热久草在线 | 国产精品一区二区中文字幕 | 人人爽久久久噜噜噜电影 | 99人久久精品视频最新地址 | 久99久在线视频 | 日韩av手机在线观看 | 国产在线视频在线观看 | 国产永久免费高清在线观看视频 | 日韩精品欧美视频 | 亚洲精品国产精品国自产观看浪潮 | 91成年人视频 | 视频一区二区国产 | 国产美女久久久 | 亚洲精品视频偷拍 | 一区二区三区在线不卡 | 久久久免费少妇 | 狠狠色丁香婷婷 | 日韩久久一区二区 | 久久av在线 | 久久五月婷婷丁香 | 欧美日韩性视频 | 日本在线观看一区二区 | 成人亚洲欧美 | 91看片在线观看 | 丁香九月婷婷 | 又黄又爽又湿又无遮挡的在线视频 | 国产伦精品一区二区三区四区视频 | 成人av在线网 | 91精品国产欧美一区二区成人 | 偷拍精偷拍精品欧洲亚洲网站 | 久久不卡国产精品一区二区 | 亚州天堂| 中文一区二区三区在线观看 | av免费观看高清 | 婷婷亚洲综合五月天小说 | 国产亚洲精品免费 | 成人啊 v| 色香蕉在线视频 | 日韩欧美精品在线观看视频 | 欧美一区二区在线免费看 | av东方在线 | 精品v亚洲v欧美v高清v | 久久精品国产一区二区 | 久草视频国产 | 99热最新在线 | 精品久久综合 | 人人插人人艹 | 亚洲人天堂| 婷婷色婷婷 | 韩国一区二区在线观看 | 搡bbbb搡bbb视频| 欧美日韩在线第一页 | 园产精品久久久久久久7电影 | 国产免费二区 | 成人一级片免费看 | 天天干 天天摸 天天操 | 欧美大码xxxx| 日日干av| 不卡的av电影在线观看 | 国产精品嫩草影院99网站 | 黄色免费网站 | 国产精品久久片 | 午夜aaaa| 麻豆视频在线免费 | 在线影院 国内精品 | 日本公妇在线观看高清 | 丁香花在线视频观看免费 | 亚洲精品一区二区三区新线路 | 国产精品一区二区免费 | www.亚洲在线| 视频直播国产精品 | 九九九九九九精品任你躁 | 免费观看国产成人 | 天天狠狠操 | 午夜视频免费播放 | 国产精品欧美激情在线观看 | 色狠狠干 | 欧美一区二区伦理片 | www操操操| 99re6热在线精品视频 | 欧美日韩国产xxx | 国产高清一级 | 黄色的视频 | 久久电影网站中文字幕 | 婷婷网站天天婷婷网站 | 久久九九久久九九 | 最新黄色av网址 | 午夜影院在线观看18 | 日韩欧美一区二区三区在线 | www五月天婷婷 | 久久综合色影院 | 日日夜夜天天射 | 99久久精品一区二区成人 | 91av视频在线观看免费 | 91色影院| 国产91精品久久久久久 | 99999精品视频 | 成人动图 | 亚洲精品tv | 天天操综 | 亚洲电影图片小说 | 国产免费又粗又猛又爽 | 深爱婷婷| 国产精品免费久久久久影院仙踪林 | 欧美a级成人淫片免费看 | 久久综合九色综合网站 | 久久久国产在线视频 | 日韩精品视频免费专区在线播放 | 天天干天天做天天操 | 91精品免费在线观看 | 韩国av电影网 | 99免费精品视频 | 国产精品一区二区av | 亚洲高清久久久 | 9幺看片| 国产成人1区 | 日韩美女一级片 | 色婷婷电影网 | 国内精品久久久久影院一蜜桃 | 97激情影院 | а天堂中文最新一区二区三区 | 精品视频国产 | 国产视频精品视频 | 九九色视频 | 日韩久久午夜一级啪啪 | 天天干,天天草 | 国产视频高清 | 91在线观 | 狠狠干狠狠插 | 五月婷婷毛片 | 91麻豆精品国产91 | 欧美精品在线观看 | 黄色电影网站在线观看 | 日韩伦理片一区二区三区 | 国产成人在线精品 | 天天操偷偷干 | 精品国产精品一区二区夜夜嗨 | 国产免费观看高清完整版 | 欧美精品二区 | 国产成人av网址 | 欧美在线1区 | 黄色动态图xx | 成人作爱视频 | 日本韩国在线不卡 | 日韩羞羞 | 一级a毛片高清视频 | 中文字幕第一页在线视频 | 久久精品理论 | 97超级碰碰 | 色婷五月天 | 五月综合婷 | 色com网| 天天草天天草 | 国产精品久久久久久久久毛片 | 久久久久这里只有精品 | 久久精品免费 | 欧美美女视频在线观看 | h网站免费在线观看 | 久久久久久久久久伊人 | 玖玖精品在线 | 国产不卡一二三区 | 超碰av在线 | 国产破处精品 | 欧美视频在线观看免费网址 | 四虎永久精品在线 | 天天操天天操天天操天天操天天操天天操 | 国产裸体永久免费视频网站 | 婷婷丁香在线 | 香蕉影视在线观看 | 亚洲少妇xxxx| 成人在线电影观看 | 免费黄色网址大全 | 久久中文字幕导航 | 久久99免费观看 | 国产色久 | 国产精品99久久久久久久久 | 中文字幕一区二区三区视频 | 国产高清不卡一区二区三区 | 97av影院| 亚洲免费永久精品国产 | 久久伊人热 | 日韩毛片在线一区二区毛片 | 国产在线黄色 | 天天操综合网 | www91在线观看 | 国产精品一区二区久久国产 | 国产亚洲精品久久久久动 | 在线视频麻豆 | 欧美精品久久久久久久久久丰满 | 日本精品久久 | 亚洲国产欧美一区二区三区丁香婷 | 日韩精品中文字幕av | 最新av中文字幕 | 成人av一区二区在线观看 | 一区二区三区电影在线播 | 日韩在线视频国产 | 国产精品女同一区二区三区久久夜 | 久久黄色片子 | 日日躁夜夜躁xxxxaaaa | 国产一区二区不卡视频 | 免费观看一区二区三区视频 | 国产探花在线看 | 国产精品久久久影视 | 久久精品1区2区 | 亚洲视频2| 亚洲精品国产成人 | 99久久久国产精品美女 | 欧美色婷| 欧美日韩一区二区三区在线免费观看 | 日韩天堂在线观看 | www.com操| 成 人 黄 色 片 在线播放 | 成人免费网视频 | 在线观看完整版 | 私人av| 成人午夜剧场在线观看 | 国产精品嫩草影院99网站 | 狠狠狠色狠狠色综合 | 日韩欧美一区二区三区在线 | 亚洲成a人片在线www | 久久久国产精品亚洲一区 | 欧美视频日韩视频 | 亚洲日本欧美在线 | 欧美不卡视频在线 | 激情婷婷av | 麻豆视频国产 | 婷婷国产v亚洲v欧美久久 | 国产日韩在线看 | 国产色在线观看 | 在线播放av网址 | av电影一区二区三区 | 国产视频导航 | 国产小视频在线免费观看视频 | 香蕉网在线观看 | 999久久国产精品免费观看网站 | 一本一道久久a久久综合蜜桃 | 欧美日韩在线视频免费 | 国产日韩欧美中文 | 999久久久久久久久久久 | 亚洲网站在线 | 欧美日韩一区二区三区在线免费观看 | 国产精品99久久久久的智能播放 | 中国美女一级看片 | 亚洲一级电影在线观看 | 国产999精品久久久久久麻豆 | av中文字幕在线播放 | 久久久精品二区 | 国产一级做a爱片久久毛片a | 国产999| 最新精品国产 | 久久国产二区 | 精品视频免费在线 | 丝袜美腿在线视频 | 一二三久久久 | 91九色在线播放 | 久久精品爱视频 | 日日添夜夜添 | 在线看国产精品 | 96精品高清视频在线观看软件特色 | 国产一区在线视频播放 | 91系列在线观看 | 亚州人成在线播放 | 激情婷婷在线观看 | 亚洲精品资源 | 激情五月激情综合网 | 欧美久久久一区二区三区 | 久久人91精品久久久久久不卡 | 超碰在线97免费 | 久久精品视频在线免费观看 | 久久伊人热 | 午夜视频在线网站 | 国产午夜不卡 | 免费观看的av网站 | 欧美性色综合网 | 在线免费高清 | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 国产人成一区二区三区影院 | 美女网站一区 | 99精品国产兔费观看久久99 | .国产精品成人自产拍在线观看6 | 久久短视频 | 激情综合国产 | 色操插| 国产精品区二区三区日本 | 中文字幕免费看 | 亚洲精品乱码久久久久久9色 | 黄色免费高清视频 | 蜜桃视频日本 | 国产精品乱码一区二三区 | 久久亚洲精品电影 | 国产69久久久欧美一级 | 欧美日韩性视频在线 | 欧美日韩高清在线观看 | 深爱五月网 | 国产精品手机在线 | 日韩二区三区在线观看 | 狠狠网| 成人动漫精品一区二区 | 久久精品国产久精国产 | 91桃色在线免费观看 | 在线观看91久久久久久 | 在线观看韩国av | 超碰国产在线观看 | 欧美性黄网官网 | 91天堂在线观看 | 国产99久久九九精品免费 | www.香蕉| 91av中文字幕 | 国产日韩欧美在线观看 | 国产小视频在线观看 | av不卡网站| 国产成人精品999在线观看 | 久久天堂影院 | 成人在线视频在线观看 | 免费久久久 | 成人国产精品电影 | 91精品一区二区三区久久久久久 | 国产精品久久久久久欧美 | 不卡的av在线播放 | 99re久久资源最新地址 | 91视频-88av | 成人精品一区二区三区电影免费 | 国产一级片久久 | 久久久久久综合网天天 | 国产91在线 | 美洲 | 夜夜视频资源 | 一区二区久久 | 最近更新好看的中文字幕 | 精品一区 在线 | 午夜精品福利一区二区三区蜜桃 | 日本在线观看视频一区 | 天天操比| 美腿丝袜av| 中文字幕亚洲在线观看 | 久久99在线观看 | 国产在线观看污片 | 亚洲区视频在线观看 | 亚洲精品午夜国产va久久成人 | 在线观看一区二区精品 | av视屏在线播放 | 色婷婷伊人| www.xxxx变态.com | 91视频 - 114av | 国产69精品久久久久久 | 91亚洲国产 | 精品国产乱码 | 在线播放91 | 久久久国产一区二区三区四区小说 | 久久夜夜爽| 视频在线精品 | 四虎成人精品 | 成人免费视频视频在线观看 免费 | 99久久99久久综合 | 亚洲国产一区在线观看 | 国产精品白丝av | 久草电影网 | 久久久久久综合网天天 | 国产精品美女久久久久久久 | 日韩黄色在线观看 | 国产视频日韩视频欧美视频 | 西西大胆免费视频 | 国产原创在线视频 | 色综合色综合久久综合频道88 | 久久国产精品久久久久 | 激情影院在线观看 | www.日日日.com | 久久一线 | 免费亚洲视频在线观看 | 中文国产成人精品久久一 | 精品国产1区 | 欧美精品一二三 | 91在线小视频 | 成人精品一区二区三区中文字幕 | 国产三级视频在线 | 久久综合久久综合这里只有精品 | 综合色在线观看 | 最新av免费在线观看 | 中文字幕在线播放日韩 | 亚洲一区二区视频在线播放 | 91精品久久久久久 | 一区 二区电影免费在线观看 | 国产成人福利在线观看 | 五月天久久综合网 | 一区二区三区免费网站 | 豆豆色资源网xfplay | 97在线成人 | 黄色毛片视频免费观看中文 | 日韩激情片在线观看 | 天堂在线一区二区三区 | 99国产成+人+综合+亚洲 欧美 | 狠狠艹夜夜干 | www国产亚洲精品久久网站 | 亚洲 欧美 变态 国产 另类 | 日韩免费一级电影 | 日韩最新中文字幕 | 麻花豆传媒mv在线观看网站 | 日韩一区二区三区免费视频 | www.国产毛片| 国产精品久久9 | 99久久这里只有精品 | 中文字幕888 | 国产高清久久 | 最近日本中文字幕 | 青草视频网 | 免费成视频 | 在线精品观看 | 精品欧美一区二区在线观看 | 中文字幕免费国产精品 | 在线观看激情av | 91中文字幕在线 | 中文在线 | 午夜成人免费影院 | 天天色.com | 成人在线视频在线观看 | 午夜精品久久久久久久久久久久 | 久久综合狠狠综合久久激情 | 成人福利在线观看 | 免费91在线观看 | www.777奇米 | 99成人免费视频 | 国产亚洲精品久久久久久久久久久久 | 久久综合欧美 | 欧美中文字幕第一页 | 国产视频精品免费播放 | 欧美一二在线 | 天天看天天干 | 日韩专区 在线 | 97精品国产91久久久久久 | 亚洲精品久久久蜜臀下载官网 | 久久久亚洲网站 | 国产一级91| 日韩在线视| 超碰在线观看99 | 日韩激情视频 | 就要干b | 日韩在线首页 | 国产最新91 | 波多野结衣精品在线 | 在线 国产 亚洲 欧美 | 三级av免费 | av免费观看网址 | 国产在线视频导航 | 亚洲成人精品久久 | av一区二区三区在线观看 | 成人影视片 | 国产无套视频 | 99久久精品无码一区二区毛片 | 久久精品99精品国产香蕉 | 国产在线a| 欧美精品你懂的 | 狠狠色伊人亚洲综合网站野外 | 一区中文字幕在线观看 | 亚洲在线黄色 | 一级片观看| 国语精品免费视频 | 国产不卡高清 | 日韩精品一区二区三区在线视频 | 一区二区精品久久 | 久久99精品久久久久蜜臀 | 在线免费高清一区二区三区 | 日韩在线大片 | 欧美一区二区三区特黄 | 国产视频精品久久 | 日本在线视频一区二区三区 | 日韩免费大片 | 91精品视频在线免费观看 | 国产丝袜一区二区三区 | 国产精品一区电影 | 婷婷伊人综合亚洲综合网 | 99视频在线精品国自产拍免费观看 | 国产精品理论在线观看 | 亚洲成人av片 | 久久一线 | 国产一区二区在线观看免费 | 国产 一区二区三区 在线 | 99在线精品视频观看 | 免费在线91| 91最新中文字幕 | 97av影院 | 精品极品在线 | 国产视频在线观看一区二区 | 激情深爱.com | 一级黄色在线视频 | 色网站免费在线看 | 成人免费大片黄在线播放 | 国产福利不卡视频 | 久久久免费精品 | 亚洲少妇天堂 | 色88久久| 国产97在线播放 | 欧美日韩亚洲在线观看 | 国产91对白在线播 | 久久九九精品久久 | 九九视频精品免费 | 色视频成人在线观看免 | 久久久久久久久影院 | 911香蕉视频| 亚洲黄色免费观看 | 五月天激情视频 | 久久精品一二三区白丝高潮 | 国产乱码精品一区二区蜜臀 | 久久视频免费在线 | 狠狠色丁婷婷日日 | 欧美精品在线免费 | 国产精品免费一区二区三区 | 日韩av电影一区 | 国产成人精品女人久久久 | 欧美成人一区二区 | 欧美日产一区 | 中文字幕在线观看不卡 | 欧美视频xxx | 五月婷网站 | 99r在线视频| 欧美日本高清视频 | 天天插综合 | 99亚洲国产精品 | 国产成人精品午夜在线播放 | 美女黄频网站 | 狠狠干干 | 久久毛片网 | 国内久久| 国产精品久久久久av免费 | 日韩电影在线视频 | 97碰碰精品嫩模在线播放 | 亚洲香蕉在线观看 | 久久久这里有精品 | 97超碰人人爱 | 国产一级a毛片视频爆浆 | 日韩在线观看网站 | 国产亚洲欧美日韩高清 | 国产精品一区二区久久久久 | 久久久免费播放 | 久久中文精品视频 | 欧美99久久| 九九久久精品 | 99在线视频播放 | 日韩a级免费视频 | www.色爱| 国产99久久久国产精品 | 久久av网| 91污在线| 色永久免费视频 | 懂色av一区二区在线播放 | 午夜美女wwww | 91成人免费| 久久久久一区 | 日韩在线视频免费播放 | 亚洲热久久 | 国产福利精品一区二区 | 久久99精品波多结衣一区 | 日韩av偷拍| 久久久久欠精品国产毛片国产毛生 | 在线视频 国产 日韩 | 国产成人香蕉 | 日韩av一区在线观看 | 热久久视久久精品18亚洲精品 | 99视频导航 | 日韩精选在线 | 夜夜婷婷 | 国产h在线播放 | 日韩三级视频在线看 | 国产一区二区精品 | 中文字幕中文中文字幕 | 午夜精品一区二区三区免费视频 | 丁香六月色 | 国产精品久久久久久久久久尿 | 国产精品久久久久久久久久了 | 日韩av中文| 亚洲精品网址在线观看 | 国产精品字幕 | 日韩国产精品久久久久久亚洲 | 狠狠色丁香九九婷婷综合五月 | 日韩中文字幕免费视频 | 99爱爱| 一区二区视频欧美 | 精品一区二区在线播放 | 综合激情久久 | 免费欧美高清视频 | 国产精品av久久久久久无 | 成人在线播放网站 | 欧美日韩中文另类 | 午夜精品一区二区三区在线播放 | 亚洲国产日韩欧美在线 | 成人小视频在线观看免费 | 五月天婷婷在线视频 | 在线欧美最极品的av | 欧美午夜视频在线 | 亚洲va在线va天堂 | 视频成人 | 一区二区欧美在线观看 | 久久精品视频在线播放 | 四虎影视精品永久在线观看 | 四虎欧美| 国产免费av一区二区三区 | 日韩丝袜在线观看 | 少妇高潮冒白浆 | 亚洲黄色在线 | 久久蜜臀一区二区三区av | 久草网在线观看 | 国产精品久久嫩一区二区免费 | 免费成人av在线 | 日韩免费在线观看视频 | 亚洲成av人影院 | 久久夜色网 | 成人午夜久久 | 国产精品视频线看 | 免费在线观看视频一区 | 亚洲视频h| 超碰官网 | 国产不卡视频在线 | 成人久久影院 | 五月天伊人网 | 亚洲欧美日韩不卡 | 婷婷综合 | 一本一本久久aa综合精品 | 色停停五月天 | 天天干天天干天天干天天干天天干天天干 | av在线网站大全 | 日韩精品国产一区 | 狠狠操狠狠干天天操 | 中文免费在线观看 | 国产高清福利在线 | 成人一级片视频 | 国产精品久久久久毛片大屁完整版 | 欧美性春潮 | 一区二区视频电影在线观看 | 99国内精品 | 欧美视频xxx | 在线免费观看黄色大片 | 成人激情开心网 | 中文字幕免费不卡视频 | 99久久精品免费视频 | 免费日韩 精品中文字幕视频在线 | 九九九视频在线 | 国产精品美女免费 | 久久精品官网 | 天天干天天在线 | 在线观看视频99 | 免费精品久久久 | 黄网站色| 中文视频在线看 | av久久久| 久久综合九色综合久久久精品综合 | 欧美精品亚洲精品 | 天天操天天色综合 | 91在线视频免费播放 | 国产人免费人成免费视频 | 久久蜜桃av | 99精品视频在线看 | 中文字幕资源在线 | 成人免费91| 日本护士撒尿xxxx18 | 人人超碰在线 | 成人av网页 | 日韩专区 在线 | 最近中文字幕大全中文字幕免费 | 久久歪歪 | 国产在线色 | 午夜精品区 | 婷婷综合激情 | 中文字幕免 | 久久综合久久综合久久 | 国产精品久久久久久久久久久杏吧 | 亚洲一区天堂 | 国产成人不卡 | 91精品国产一区二区在线观看 | 久久人人爽人人爽人人 | 一级片免费观看 | 国产精品99久久久久久有的能看 | 日韩免费在线视频 | 91精品国产91久久久久 | 波多野结衣在线视频免费观看 | 蜜臀久久99精品久久久酒店新书 | 国产精品久久中文字幕 | 日韩高清国产精品 | av中文字幕不卡 | 91福利在线观看 | 99电影| 天天久久夜夜 | 欧美一二区在线 | 草久在线观看视频 | 亚洲精品黄 | 国产一级高清 | 麻花豆传媒mv在线观看 | 六月丁香激情综合色啪小说 | 欧洲精品码一区二区三区免费看 | 97超碰国产精品 | 美女视频久久黄 | japanesefreesex中国少妇 | 久久伊人色综合 | 中文永久免费观看 | 欧美精品国产综合久久 | 国产女人免费看a级丨片 | 国产99自拍 | 欧美一区免费在线观看 | 中文字幕在线观看的网站 | 欧美日韩大片在线观看 | 99r精品视频在线观看 | 天天操天天干天天操天天干 | 手机看片中文字幕 | 欧美日韩激情视频8区 | 国产三级av在线 | 久久激情五月激情 | 五月综合在线观看 | 国产在线小视频 | 日韩精品一区二区在线 | 黄色大片日本免费大片 | 欧美激情视频一二三区 | 五月宗合网 | 黄色小说免费观看 | 日韩激情视频在线 | 五月天堂色| avlulu久久精品 | 亚洲视频每日更新 | 久久久综合 | 91精品视屏 | 91av在线免费看 | 黄a网站| 国产麻豆果冻传媒在线观看 | 久久成人高清 | 视频一区在线免费观看 | 欧美色黄 | 日本午夜免费福利视频 | 99视频 | 国产视频日韩视频欧美视频 | 国产午夜一级毛片 | 久久亚洲国产精品 | 久久香蕉电影网 | 日韩欧美一级二级 | 成人一级片免费看 | 午夜精品剧场 | 伊人久久一区 | 99热超碰 | 久久午夜免费视频 | a国产精品 | 中文字幕一区二区三区久久 | 久久深夜 | 91av在线电影 | 久草香蕉在线视频 | 久久久综合色 | a天堂最新版中文在线地址 久久99久久精品国产 | 久久精品一区二区三区国产主播 | 天天舔天天射天天操 | 免费av网站观看 | 日韩精品短视频 | 日韩二区精品 | 粉嫩一二三区 | 国产日韩在线播放 | 天天视频色 | 国产99久久久国产精品免费看 | 免费看网站在线 | 国产网站色 | 亚州免费视频 | 欧美日韩另类在线 | 97碰碰碰| 国产视频一区二区在线播放 | 精品av在线播放 | www.久久久精品 | 91少妇精拍在线播放 | 在线观看小视频 | 亚洲国产精品999 | 久久成电影 | 天天看天天干 | 久久精品欧美视频 | 精品久久99 | 在线观看一区二区视频 | 国产无限资源在线观看 | 99久久这里有精品 | 色噜噜日韩精品一区二区三区视频 | 久久久久成人免费 | 免费看成年人 | 500部大龄熟乱视频使用方法 | 中文字幕一二三区 | 亚洲精品国偷拍自产在线观看蜜桃 | 日本最新一区二区三区 | 综合久久网 | 久爱精品在线 | 国产情侣一区 | 在线导航av | 国产精品亚洲视频 | 久久精品一区二区三区四区 | 日韩免费成人av | 丁香婷婷激情 | 国产精品麻豆99久久久久久 | 日韩中文幕 | 特级免费毛片 | 九九免费在线观看视频 | 91亚洲狠狠婷婷综合久久久 | 午夜精品久久久久久久99婷婷 | 国产精品一区二区久久久久 | www.五月婷 | 黄色软件在线观看免费 | 国产美女免费视频 | 999国产精品视频 | 日日操操操 | 色先锋av资源中文字幕 | 亚洲禁18久人片 | 亚洲播播| 91麻豆精品国产自产 | 欧美a级在线 | 91大神免费在线观看 | 黄色av一级片 | 99久久精品日本一区二区免费 | 久久精品一区二区三 | 中文字幕视频在线播放 | 国产成人免费在线观看 | 国产黄a三级三级三级三级三级 | 久久久久久久久久毛片 | 中文字幕在线观看一区 | 国产精品久久久久影视 | 黄在线 | 国内精品久久久久久久久 | 日韩在线视| 久久这里只有精品视频99 | 丁香激情综合 | 日本久久精品视频 | 久久久免费观看完整版 | 综合网色 | 国产免码va在线观看免费 | 天天天操操操 | 日本精品久久久一区二区三区 | 91成人精品一区在线播放 | 国产成人精品一区二区三区网站观看 | 韩国一区二区三区在线观看 | 欧美一区二区三区在线观看 | 四虎影视成人永久免费观看视频 | 国产一区二区在线观看视频 | 毛片在线播放网址 | 国产精品免费久久久久影院仙踪林 | 国产亚洲精品久久久久久大师 | 国产精品久久久久久久久久妇女 | 精品久久久99 | 色欧美日韩 | 久久免费看 | 久久久免费高清视频 | 福利二区视频 | 综合激情网... | 人人人爽 | 欧美日产一区 | 久久伊人操 | 黄色一级性片 | 精品久久久精品 | 成人黄色在线观看视频 | 久久免费看 | 日韩伦理片一区二区三区 | 日韩乱色精品一区二区 | 97超碰资源站 | 五月婷婷在线视频观看 | 国产日韩欧美在线影视 | 天天草网站 | 青青五月天 | 91看片在线看片 | 黄色成人av | 91在线免费视频观看 | 激情五月婷婷网 | 久久免费视频这里只有精品 | japanese黑人亚洲人4k | 久草精品视频 | 久久麻豆视频 | 久久伊人色综合 | 久久另类小说 | 国产精品久久嫩一区二区免费 | 亚洲精品久久久蜜臀下载官网 | 在线一二区 | 一区二区精品在线视频 | 久久久综合色 | 亚洲精品一区二区三区高潮 | 天天射天天射天天射 | 91麻豆精品国产自产 | 国产91探花 | 亚洲视屏一区 | www在线观看国产 | 亚洲视频 视频在线 | 国产玖玖视频 | 亚洲伦理一区二区 | 亚洲精品国产综合99久久夜夜嗨 | 91久色蝌蚪 | 国产精品99在线播放 | 黄色三级免费看 | 日本午夜在线亚洲.国产 | 日本在线观看一区二区三区 | 亚洲欧美在线观看视频 | 天天色图 | 国内成人精品2018免费看 | 天天色天天射天天干 | 激情在线网址 | 亚洲视频专区在线 | 18女毛片| 97成人在线观看 | 日韩精品在线一区 | 麻豆国产精品视频 | 九九九热| 亚洲国产网站 | 亚洲精品乱码久久久久v最新版 | 四虎4hu永久免费 | 欧美性视频网站 | 天天干天天拍天天操天天拍 | 91精品国产综合久久福利不卡 | 国产一线在线 | 亚洲国产中文在线观看 | 成人av网站在线播放 | 日韩精品免费在线观看视频 | 日日夜夜人人精品 | 成人精品在线 | 亚洲国产一二三 | 成人av片在线观看 | 九九久久国产 | 精品一区精品二区 | 久久av免费观看 | 中文成人字幕 | 亚洲乱码精品 | 日韩三级在线 | 国产精品久久久久久久久久直播 | 国产精品久久一卡二卡 | 久久人人爽视频 | 狠狠狠色狠狠色综合 | av在线中文 | 色偷偷男人的天堂av | 国产精品久久久久久模特 | 欧美少妇影院 | 久久成人精品 | 免费影视大全推荐 | 久久精品视频在线观看免费 | 97在线播放| 成人午夜黄色影院 |