python能处理图片吗_python 能处理图像?
答案是:完全ojbk
python具有強大的圖像處理功能,這歸功于他 的PIL模塊
與我們平時所見的使用PS等軟件P圖有所不同,python實現的圖像處理是以代碼的形式完成工作,也是千峰這篇文章要說的。
需要相關學習資料請關注我
操作環境:win7 操作系統 需要安裝python2.7以及指定的對應PIL模塊
實際操作代碼如下:
第一步:圖片裁切
from PIL import Image
im = Image.open("jgz.jpg")
box = (10,10,100,100)
region = im.crop(box)
region.save("cutting.jpg")
將jgz.jpg圖片的((10,10), (10,100),(100,10),(100,100))所劃出的區域進行裁切并保存在cutting.jpg當中
第二步:拼接圖片
from PIL import Image
img = Image.open("./background.jpg")
jgz = Image.open("./jgz1.jpg")
img.paste(jgz,(196,139))
img.save("./out.jpg")
將background.jpg當做背景,將jgz1.jpg拼在其上邊,位置是(196.139)。并保存為out.jpg
第三步:圖片縮放
from PIL import Image
infile = './jgz.jpg'
outfile = './jgz1.jpg'
im = Image.open(infile)
(x,y) = im.size
x_s = 310
y_s = y*x_s/x
out=im.resize((x_s,y_s),Image.ANTIALIAS)
out.save(outfile)
將jpz.jpg的橫向像素強制為310,縱橫比不變。并保存在jgz1.jpg當中
第四步:在圖片上添加文字
#coding=utf-8from PIL import Image, ImageDraw, ImageFont
txt = "你這個死宅說話"
txt2 = " 還挺搞笑的"
font_img = Image.open("./img.jpg")
draw = ImageDraw.Draw(font_img)
ttfront = ImageFont.truetype('./simhei.ttf',55)
draw.text((140,560),unicode(txt,"UTF-8"), fill=(0,0,0), font=ttfront)
draw.text((160,630),unicode(txt2,"UTF-8"), fill=(0,0,0), font=ttfront)
font_img.save("./out.jpg")
保證 simhei.ttf的路徑可以找到。在圖片 img.jpg的(140,560) (160,630)兩個位置分別寫入txt 和 txt2這兩句漢字。文件編碼是utf-8,并另存為out.jpg
第五步:圖片alpha通道化,理論上將白色變成透明
from PIL import Image
img = Image.open("jgz.jpg")
img = img.convert("RGBA")
datas = img.getdata()
newData = list()
for item in datas:
if item[0] >220 and item[1] > 220 and item[2] > 220:
newData.append(( 255, 255, 255, 0))
else:
newData.append(item)
img.putdata(newData)
img.save("jgz_alpha.png","PNG")
將jgz.jpg的白色透明化并另存為jgz_alpha.png。注意透明化的圖片文件的格式一般為png
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python能处理图片吗_python 能处理图像?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql中的dump,从mysql中d
- 下一篇: android分享文件分享结果_干货分享