生活随笔
收集整理的這篇文章主要介紹了
python PIL图像处理
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
新建圖像
# 三個(gè)參數(shù)分別代表圖像的模式:常用的為RGB(3通道) 、RGBA(4通道為透明通道,0為完全透明, 256為不透明)
# 第二個(gè)參數(shù)為圖像的長(zhǎng)寬參數(shù)
# 第三個(gè)為默認(rèn)的填充顏色,RGB時(shí)長(zhǎng)度為3,RGBA是長(zhǎng)度為4
img =Image.new('mod',(width,height),(color1, color2, color3, color4)) ?
打開(kāi)圖像
# 打開(kāi)已存在的圖像,兩個(gè)參數(shù)分別表示圖像路徑及模式
img =Image.open('path','mode') ?
預(yù)覽&保存
# 加入到緩存中,并打開(kāi)圖片展示,常用于測(cè)試環(huán)境中
img.show()
# 保存圖片
img.save('path','mode') ?
修改圖像參數(shù)
# 修改圖片大小
img =img.resize((width,height))
# 修改模式 常用的模式: RGB、RGBA、1(二值圖)、L(灰度圖),當(dāng)轉(zhuǎn)換為二值圖時(shí),默認(rèn)將128以下的轉(zhuǎn)為黑色,128以上的像素轉(zhuǎn)換為白色,為滿足多樣化需求,可以使用自定義方法: img.point(table, 'model'),但是在使用自己的字典轉(zhuǎn)換后的圖片與使用模式'1'的差別很大,目前無(wú)解,隨后有需要了再重新看這個(gè)地方
img = img.convert('mode') ?
透明度處理
# 透明度處理僅為RGBA模式才會(huì)有,如為非RGBA,則可進(jìn)行轉(zhuǎn)換
img = img.convert('RGBA')
# 獲取alpha(透明度層圖像),可以像普通圖片一樣修改相應(yīng)的透明度
img.split()[3]
# 設(shè)置圖片的透明圖層,新增或替換透明圖層,注意透明圖層與原圖像的大小要相同
img.putalpha(alpha) ?
圖像粘貼
img =''
# 可以將部分圖片粘貼到指定位置,有三個(gè)參數(shù),粘貼的內(nèi)容,粘貼的位置:如果長(zhǎng)度為2,則表示起始位置,如果長(zhǎng)度為4,則表示起始與結(jié)束位置; mask:蒙板層,當(dāng)img1的模式為RGB模式時(shí),設(shè)置為None,如果為RGBA,即存在透明圖層時(shí),因?yàn)檎迟N時(shí)無(wú)法將圖片的透明圖層復(fù)制過(guò)來(lái),所以需要在這里手動(dòng)指定透明圖層
img2.paste(img1,(x, y), mask=img.split()[3]) ?
其它的操作
# 獲取指定位置的顏色
img.getpixel((x, y))
# 設(shè)置指定位置的顏色
img.putpixel((x, y),(color1....))
# 圖片的旋轉(zhuǎn),常用的有三個(gè)參數(shù):逆時(shí)針旋轉(zhuǎn)的角度
# 旋轉(zhuǎn)過(guò)后的圖片過(guò)濾器,默認(rèn)的效果較差,可以指定另外幾種類型
# expand 偏轉(zhuǎn)后是否改變長(zhǎng)寬來(lái)顯示所有內(nèi)容
img = img.rotate(angle, resample=NEAREST, expand=0) ?
基本上就這么多內(nèi)容了,其它的隨后用到時(shí)再補(bǔ)…………
轉(zhuǎn)載于:https://www.cnblogs.com/417xiaoliu/p/489a74064fea16d05cd482e7881b7d69.html
總結(jié)
以上是生活随笔為你收集整理的python PIL图像处理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。