图像的手绘效果
来源:互联网 发布:伊娃格林知乎 编辑:程序博客网 时间:2024/04/30 05:50
图像的RGB色彩模式:
图像一般使用RGB色彩模式,即每个像素点的颜色由红(R)、绿(G)、蓝(B)组成。
RGB三个颜色通道的变化和叠加得到各种颜色,其中
• R 红色,取值范围,0‐255
• G 绿色,取值范围,0‐255
• B 蓝色,取值范围,0‐255
RGB形成的颜色包括了人类视力所能感知的所有颜色。
PIL库:
PIL, Python Image Library
PIL库是一个具有强大图像处理能力的第三方库,在命令行下的安装方法: pip install pillow
from PIL import Image
Image是PIL库中代表一个图像的类(对象)。
图像是一个由像素组成的二维矩阵,每个元素是一个RGB值。
# 打开图像文件,图像文件是一个RGB值组成的矩阵
im =np.array(Image.open("beijing.jpg"));
# (669, 1012, 3)uint8
# 图像是一个三维数组,维度分别是高度、宽度和像素RGB值
print(im.shape,im.dtype);
图像变换:
读入图像后,获得像素RGB值,修改后保存为新的文件
# -*- coding: utf-8 -*-import numpy as npfrom PIL import Imageimport os# 设置路径为当前路径path = os.path.dirname(__file__);os.chdir(path);# 打开图像文件,图像文件是一个RGB值组成的矩阵im = np.array(Image.open("beijing.jpg"));# (669, 1012, 3) uint8# 图像是一个三维数组,维度分别是高度、宽度和像素RGB值print(im.shape, im.dtype);# 图像的变换# 读入图像后,获得像素RGB值,修改后保存为新的文件a = np.array(Image.open("fcity.jpg"));# 像素值取反操作b = [255, 255, 255] - a;img1 = Image.fromarray(b.astype('uint8'));img1.save("fcity1.jpg");# convert('L')将图像的RGB值转化为一个灰度值c = np.array(Image.open("fcity.jpg").convert('L'));d = 255 - c;img2 = Image.fromarray(d.astype('uint8'));img2.save("fcity2.jpg");# 区间变换e = (100/255)*c + 150;img3 = Image.fromarray(e.astype('uint8'));img3.save("fcity3.jpg");# 像素平方f = 255*(c/255)**2;img4 = Image.fromarray(f.astype('uint8'));img4.save("fcity4.jpg");
图像手绘效果:
# -*- coding: utf-8 -*-from PIL import Imageimport numpy as npimport os# 设置路径为当前路径path = os.path.dirname(__file__);os.chdir(path);a = np.asarray(Image.open('beijing.jpg').convert('L')).astype('float')# (0-100)depth = 10.;# 取图像灰度的梯度值grad = np.gradient(a);# 分别取横纵图像梯度值grad_x, grad_y = grad;grad_x = grad_x*depth/100.;grad_y = grad_y*depth/100.;A = np.sqrt(grad_x**2 + grad_y**2 + 1.);uni_x = grad_x/A;uni_y = grad_y/A;uni_z = 1./A;# 光源的俯视角度,弧度值vec_el = np.pi/2.2# 光源的方位角度,弧度值vec_az = np.pi/4.;# 光源对x 轴的影响dx = np.cos(vec_el)*np.cos(vec_az);# 光源对y 轴的影响dy = np.cos(vec_el)*np.sin(vec_az);# 光源对z 轴的影响dz = np.sin(vec_el);# 光源归一化b = 255*(dx*uni_x + dy*uni_y + dz*uni_z);b = b.clip(0,255);# 重构图像im = Image.fromarray(b.astype('uint8'));im.save('beijingHD.jpg');
图片素材:
beijing.jpg
fcity.jpg
阅读全文
1 0
- 图像的手绘效果
- Python-图像的手绘效果
- 基于Python的图像手绘效果
- python 实现图像的手绘效果
- Python PIL图像处理-----图像的手绘效果
- 手绘软件iMindMap的效果展示
- Android手绘效果实现
- [转] 具备手绘效果的快速原型开发:Balsamiq Mockups
- 用PS做一副手绘简笔画效果的照片
- 【手绘】吸烟的男人
- 【手绘】吸烟的男人
- 55+手绘网站设计 – 构建极具创新效果的网站
- 55+手绘网站设计 – 构建极具创新效果的网站
- PS--把美女头像转成漂亮的仿手绘效果
- 教你使用Box2d制作用蜡笔手绘物体的效果(一)
- 教你使用Box2d制作用蜡笔手绘物体的效果(二)
- 手绘
- 手绘
- linux下常用命令查看端口占用
- Android studio 快捷键
- selenium开发环境搭建
- GIS软件开发工具包TatukGIS Developer Kernel v11.6发布丨附下载
- Java 分布式作业流调度框架Hydra-Io
- 图像的手绘效果
- 【CJOJ2482】【POI2000】促销活动
- 我是数据分析师(三):跟Quick BI纠缠的日子里不得不说的那些事
- 矩阵快速幂
- Source Insight基本使用和快捷键
- 欢迎使用CSDN-markdown编辑器
- Oracle数据库中查询年龄
- ImportError: No module named _caffe
- c++基础:指针_引用_const