1.圖像的數組表示:
from PIL import Image from pylab import * from numpy import * im = array(Image.open('E:\Python\meinv.jpg')) print(im.shape,im.dtype) im = array(Image.open('E:\Python\meinv.jpg').convert('L'),'f') print(im.shape,im.dtype)
運行結果:
(272, 480, 3) uint8 #第一個元組中數據表示圖像的行,列,顏色通道數 緊接着的字符 #串表示元素的數據類型 (272, 480) float32
2.灰度變換
from PIL import Image from pylab import * from numpy import * im = array(Image.open('E:\Python\meinv.jpg')) print(im.shape,im.dtype) im = array(Image.open('E:\Python\meinv.jpg').convert('L'),'f') print(im.shape,im.dtype) im2 = 255 - im #對圖像進行反相處理 figure() imshow(im2) im3 = (100.0/255)*im +100 #將圖像像素值變換到100——200區間 figure() imshow(im3) im4 = 255.0*(im/255.0)**2 #對圖像的像素值求平方后得到的圖像 figure() imshow(im4) print(int(im4.min()),int(im4.max())) #輸出像素的最大和最小值 show()
圖1:圖像的反相
圖2:像素值變到100——200
圖3:像素值的平方