這篇文章將為大家詳細(xì)講解有關(guān)Python中怎么對(duì)圖片像素點(diǎn)進(jìn)行處理,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
from PIL import Image import itertools img = Image.open('C:/img.jpg').convert('L') #打開(kāi)圖片,convert圖像類(lèi)型有L,RGBA # 轉(zhuǎn)化為黑白圖 def blackWrite(img): blackXY = [] # 遍歷像素點(diǎn) for x in range(img.size[0]): for y in range(img.size[1]): print img.getpixel((x,y)) if img.getpixel((x,y))<128: img.putpixel((x,y),0) # 置為黑點(diǎn) blackXY.append((x,y)) else: img.putpixel((x,y),255) # 置為白點(diǎn) return blackXY # 去除干擾點(diǎn) def clrImg(img,pointArr): # 獲取周?chē)邳c(diǎn)的個(gè)數(shù) def getN(p): count = 0 x = [p[0]-1,p[0],p[0]+1] y = [p[1]-1,p[1],p[1]+1] for i in itertools.product(x,y): # 笛卡爾積 try: if img.getpixel(i) == 0: count +=1 except: print 'out of' continue print count return count for p in pointArr: if getN(p)<5: # 周?chē)邳c(diǎn)個(gè)數(shù) <5 的黑點(diǎn)認(rèn)為是干擾點(diǎn),置為白點(diǎn) img.putpixel(p,255) pointArr = blackWrite(img) clrImg(img,pointArr) img.save("C:/img_1.jpg")
關(guān)于Python中怎么對(duì)圖片像素點(diǎn)進(jìn)行處理就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。