VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • 爬虫(十三):PIL模块(2)

结果:

(13) 旋转图像

rotate(angle):逆时针旋转angle度。 

(14) 图像转换

案例:


	
  1. from PIL import Image
  2.  
  3. img = Image.open("xhh.jpg")
  4. #左右对换
  5. out1 = img.transpose(Image.FLIP_LEFT_RIGHT)
  6. out1.show()
  7. #上下对换
  8. out2 = img.transpose(Image.FLIP_TOP_BOTTOM)
  9. out2.show()

结果:

(15) 图像类型转换

convert(mode):将图像转换成mode类型。

PIL的九种不同模式:1,L,P,RGB,RGBA,CMYK,YCbCr,I,F。

常用的两种:

1.模式”1” 为二值图像,非黑即白。但是它每个像素用8个bit表示,0表示黑,255表示白。下面我们将lena图像转换为“1”图像。 from PIL importImage img = Image.open(“E:\image\myimg.jpg”) img_1=img.convert(“1”) 2.模式“L” 为灰色图像,它的每个像素用8个bit表示,0表示黑,255表示白,其他数字表示不同的灰度。在PIL中,从模式“RGB”转换为“L”模式是按照下面的公式转换的: L = R * 299/1000 + G * 587/1000+ B * 114/1000

(16) 获取某个像素位置的值

getpixel(coordinate):coordinate为(x,y)形式的值。

(17) 修改某个像素位置的值

putpixel(coordinate,color):修改像素位置coordinate的颜色color的值。

案例:


	
  1. from PIL import Image
  2.  
  3. img = Image.open("xhh.jpg")
  4.  
  5. print(img.size)
  6. print(img.getpixel((4, 4)))
  7.  
  8. width = img.size[0] # 长度
  9. height = img.size[1] # 宽度
  10.  
  11. for w in range(0, width):
  12. for h in range(0, height):
  13. data = img.getpixel((w, h)) # 得到像素值
  14. if (data[0] <= 170 and data[1] <= 170 and data[2] <= 170):
  15. img.putpixel((w, h), (0, 0, 255)) # 则这些像素点的颜色改成大红色
  16.  
  17. img.show()

结果:


相关教程
关于我们--广告服务--免责声明--本站帮助-友情链接--版权声明--联系我们       黑ICP备07002182号