当前位置: 首页 > news >正文

MOOC python数据分析(3)PIL库/图像处理

一、系列文章目录

(1)Numpy
(2)数据存取/随机数函数
(3)PIL库/图像处理
(4)Matplotlib库
(5)Pandas库


文章目录

  • 一、系列文章目录
  • 二、图像的数组表示
    • PIL库
    • 图像变换
    • 手绘效果处理


二、图像的数组表示

图像一般使用RGB色彩模式,即每个像素点的颜色由红®、绿(G)、蓝(B)组成,取值范围0-255。图像是由像素组成的二维矩阵,每个元素是一个RGB值。
图像是一个三维数组,维度分别是高度、宽度和像素RGB值。数据类型:uint8

PIL库

PIL, (Python Image Library),图像处理的第三方库
安装方法:

pip install pillow
from PIL import Image  #PIL库代表一个图像的类

图像变换

读取图像RGB值,形成数组,改变RGB值,保存为新图片

读取图像RGB值
修改RGB值
保存为新的图片
from PIL import Image
import numpy as np

im = np.array(Image.open("D:/data/picture.jpg"))   #读取
im_new = [255,255,255] - im    #修改RGB
im_new_pic = Image.fromarray(im_new.astype('uint8'))  #修改数据类型,生成图像
im_new_pic.save("D:/data/picture1.jpg")   #保存图片
from PIL import Image
import numpy as np

im = np.array(Image.open("D:/data/picture2.jpg").convert('L'))# 处理为灰度图片
im_new = 255 - im
im_new_pic = Image.fromarray(im_new.astype('uint8'))
im_new_pic.save("D:/data/picture22.jpg")

手绘效果处理

手绘图片特征:

  • 黑白灰色
  • 相同相近色彩趋近于白色
  • 略有光源效果
  • 边界线条重

手绘风格=灰度+立体+明暗。灰度=明暗变化 ,梯度=灰度变化率,可以通过改变梯度来改变明暗变化。
添加虚拟深度值可以模拟立体程度。

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 江南水乡
  • 解决【This Python interpreter is in a conda environment, but the environment has not been activated.】
  • Oracle诊断案例-Job任务停止执行
  • MOOC python数据分析(4)Matplotlib库
  • Eclipse快速上手指南 (2)
  • Eclipse快速上手指南 (3)
  • 联想小新13pro安装ubuntu双系统心得(解决无法识别启动U盘等问题)
  • ubuntu安装hhsuite/hhblits全过程!
  • ATL编译时只能用debug编译的解决方法
  • 制作启动U盘后出现“CD驱动器”问题
  • 正则化
  • WinCVS中文版及中文使用手册
  • 两条序列联配
  • 如何使用USE_CONCAT提示
  • win10 rdkit下载及使用
  • .pyc 想到的一些问题
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • Asm.js的简单介绍
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • echarts花样作死的坑
  • gcc介绍及安装
  • java8 Stream Pipelines 浅析
  • JavaScript实现分页效果
  • mysql 数据库四种事务隔离级别
  • php ci框架整合银盛支付
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 给github项目添加CI badge
  • 关于springcloud Gateway中的限流
  • 将回调地狱按在地上摩擦的Promise
  • 京东美团研发面经
  • 前端_面试
  • 实现简单的正则表达式引擎
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 小程序开发中的那些坑
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • Spark2.4.0源码分析之WorldCount 默认shuffling并行度为200(九) ...
  • ​【C语言】长篇详解,字符系列篇3-----strstr,strtok,strerror字符串函数的使用【图文详解​】
  • ​MySQL主从复制一致性检测
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #14vue3生成表单并跳转到外部地址的方式
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #stm32驱动外设模块总结w5500模块
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • $GOPATH/go.mod exists but should not goland
  • (02)Unity使用在线AI大模型(调用Python)
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (function(){})()的分步解析
  • (poj1.3.2)1791(构造法模拟)
  • (zt)最盛行的警世狂言(爆笑)
  • (创新)基于VMD-CNN-BiLSTM的电力负荷预测—代码+数据
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)