from PIL import ImageColor
ImageColor.getcolor('red','RGB') #颜色 模式
ImageColor.getcolor('red','RGBA') #颜色 模式 带透明度
#切换到有图片的目录
%cd IMAGE
from PIL import Image
im = Image.open('ludashi.jpg')#缩略图制作 打开一个图像文件 注意为当路径
print(im.format,im.size,im.mode)#格式,大小,颜色模式
JPEG (900, 600) RGB
w,h = im.size #获得图像大小  分别为 宽  高
print('尺寸:%sx%s'%(w,h))
im.thumbnail((w//2,h//2))#缩放为50%
print('缩放图像大小:%sx%s'%(w//2,h//2))
im.save('ludashi-50.jpg','jpeg') #图像保存格式 为 jpeg
im.show()#显示图片
im_size = im.resize((w//4,h//4)) #调整大小
im_size.save('ludashi-25.jpg')
from PIL import ImageEnhance #增强对比度
enh = ImageEnhance.Contrast(im)
enh.enhance(1.3).show("30%增强对比度")
#裁剪图像
box =(100,100,400,400)
region = im.crop(box)
region.save("ludashi-c.jpe")
#裁剪图像
box =(100,100,400,400)
region = im.crop(box)
region.save("ludashi-c.jpe")
#旋转图像
im.rotate(90).save('ludas-90.jpg')
im.rotate(180).save('luda-180.jpg')
im.rotate(8).save('luda-9.jpg')
#镜像翻转
im.transpose(Image.FLIP_LEFT_RIGHT).save('luda-水平翻转.jpg')
im.transpose(Image.FLIP_TOP_BOTTOM).save('luda-上下翻转.jpg')
#添加水印,

#打开logo文件
logo_file ='logo.png'
im_logo = Image.open(logo_file)#打开文件
logo_w,logo_h = im_logo.size # 获得logo的大小 #打开目标文件
target= 'ludashi.jpg'
im_target = Image.open(target)
target_w,target_h = im_target.size #需要加水印的文件大小 #加水印
im_copy = im_target.copy() #制作副本
im_copy.paste(im_logo,(target_w-logo_w,target_h-logo_h),im_logo) #起始位置 (坐标)
im_copy.save('luda-logo.jpg')#保存
#查看波段和每个像素的颜色值
im.getbands()
im.getpixel((111,1))  #像素坐标
#新建图片  填写文字
from PIL import ImageDraw,ImageFont
im_new = Image.new('RGBA',(400,400),'white') # 颜色模式,大小,底色
pic = ImageDraw.Draw(im_new)
pic.text((50,50),'uge3',fill='red')#坐标 ,内容, 文字颜色
im_new.save('uge3.png')
#新建图片 ,填写文字,处理字体
import os
from PIL import ImageDraw, ImageFont
#fonts_path=r'c:\windows\fonts' #windows系统下字体目录
fonts_path =r'/usr/share/fonts/dejavu' #linux下
font = ImageFont.truetype(os.path.join(fonts_path,'YuGothB.ttc'))
im_new = Image.new('RGBA',(500,500),'white')
pic =ImageDraw.Draw(im_new)
pic.text((50,50),'悠居艺山',fill='black',font=font)# 坐标,内容,颜色,字体
im_new.save('uge3-font-1.png')

python-pillow图像处理模块的更多相关文章

  1. python Pillow 图片处理模块,好强大有没有

    python Pillow 图片处理模块,好强大有没有 Pillow 需要给 python 另外安装 第一个用法:https://www.cnblogs.com/ibingshan/p/1105739 ...

  2. Python学习--09 模块

    模块让我们能够有逻辑地组织Python代码段.把相关的代码分配到一个 模块里能让我们的代码更好用,更易懂. 导入模块 Python使用import语句导入模块.语法: # 形式一:导入模块 impor ...

  3. python 内建模块与第三方模块

    *)datetime模块 包括时间.时间对象.时间戳.时区.时区的转换 参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/101764878 ...

  4. python PIL 图像处理

    python PIL 图像处理 This blog is from: https://www.jianshu.com/p/e8d058767dfa Image读出来的是PIL的类型,而skimage. ...

  5. python skimage图像处理(一)

    python skimage图像处理(一) This blog is from: https://www.jianshu.com/p/f2e88197e81d 基于python脚本语言开发的数字图片处 ...

  6. python的库有多少个?python有多少个模块?

    这里列举了大概500个左右的库: !   Chardet字符编码探测器,可以自动检测文本.网页.xml的编码. colorama主要用来给文本添加各种颜色,并且非常简单易用. Prettytable主 ...

  7. python数字图像处理(17):边缘与轮廓

    在前面的python数字图像处理(10):图像简单滤波 中,我们已经讲解了很多算子用来检测边缘,其中用得最多的canny算子边缘检测. 本篇我们讲解一些其它方法来检测轮廓. 1.查找轮廓(find_c ...

  8. opencv6.4-imgproc图像处理模块之直方图与模板

    接opencv6.3-imgproc图像处理模块之边缘检测 九.直方图的相关操作 直方图是图像中像素强度分布的图形表达方式:它统计了每一个强度值所具有的像素个数 上图是一个灰色图像,通过对图像的每个不 ...

  9. opencv6.5-imgproc图像处理模块之轮廓

    接opencv6.4-imgproc图像处理模块之直方图与模板 这部分的<opencv_tutorial>上都是直接上代码,没有原理部分的解释的. 十一.轮廓 1.图像中找轮廓 /// 转 ...

  10. python基础——第三方模块

    python基础——第三方模块 在Python中,安装第三方模块,是通过包管理工具pip完成的.  如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了.  如果你正在使用Window ...

随机推荐

  1. Bsgs模板

    模板最主要的是自己看得舒服,不会给自己留隐患,调起来比较简单,板子有得是,最主要的是改造出适合你的那一套.                  ——mzz #include<bits/stdc++ ...

  2. Lasso回归的坐标下降法推导

    目标函数 Lasso相当于带有L1正则化项的线性回归.先看下目标函数:RSS(w)+λ∥w∥1=∑Ni=0(yi−∑Dj=0wjhj(xi))2+λ∑Dj=0∣wj∣RSS(w)+λ∥w∥1=∑i=0 ...

  3. Go --- 七牛云 上传文件 & Token demo

    package main import ( "bytes" "crypto/hmac" "crypto/sha1" "encodi ...

  4. PHP uploadify io error错误如何解决?

    首先说结论吧,这个问题不是很好解决,因为因素很多,只能一步一步排除. 一般原因是: 方法一: 用php+apache上传文件的时候,由于文件过大,容易导致上传失败,解决办法: 修改php.ini中: ...

  5. ftplib python ftp

    在气象领域,FTP是比较常用的一个数据来源.本文尝试采用python的ftplib包,实现了从指定ftp服务器中批量下载文件的功能.供大家学习参考. https://docs.python.org/3 ...

  6. O(n) O(log n) blist: an asymptotically faster list-like type for Python

    https://pypi.org/project/blist/ blist: an asymptotically faster list-like type for Python — blist 1. ...

  7. Java并发包之线程池概述

    前言 线程池的作用就是将线程的管理.创建.销毁等操作与线程需要执行的任务隔离开来,从而避免线程频繁的创建与销毁,以及大量的线程的上下文切换造成的资源损耗.关于Java并发包中的线程池部分,我把它们分为 ...

  8. VMware vSphere Client中启动虚拟机提示No boot filename received/Operating System not found解决方法

    昨天下载安装 .NET Framework 3.5 SP1解决了VMware vSphere Client安装问题后,今天需要远程连接服务器搭建一台虚拟机. 根据指引步骤进行下一步.下一步的操作完成后 ...

  9. Ionic4.x 内置颜色

    primary/secondary/tertiary /success/warning/danger/dark/medium/light

  10. java数据类型,取值范围,引用类型解析

      与javascript不同,Java是强类型语言,在定义变量前需要声明数据类型.主要分两种数据类型:基本数据类型和引用数据类型. 1.基本数据类型分析: 基本数据类型 数值型 整数型 byte字节 ...