栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

numpy处理图像_numpy 绘图?

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

numpy处理图像_numpy 绘图?

Numpy入门实例Ⅰ

在观看博客正文前,读者首先需要具备简单的Python知识和一些Numpy库的基本操作。下面请跟随笔者的脚步走进本次的实例教程——图像的手绘风格绘制!

设计思路:
    灵活运用自身所学的Numpy知识;学会Numpy和PIL库的搭配使用;使用Numpy库将图片转换为数组表示形式;结合Numpy和PIL库提取图像特征形成手绘效果。
技术简介:
    将图像转换为有规则的二维数组;将图像进行转换后,利用Numpy中的方法访问图像上的任意像素值;将图像用灰度色彩表示,并对图像进行灰度变换,主要有:反变换、区间变换、像素平方处理;对图像进行计算梯度、梯度归一化、虚拟光源、重构图像等操作;图像手绘效果呈现。
流程与实现:

对图像进行简单操作:

    打开图片,查看图片的属性值;通过改变RGB值,实现图片的简单变换,主要操作有:反变换、区间变换、像素平方处理;
# -*- coding: utf-8 -*-
# @Time :2022/3/19 11:39
# @Author : 搬砖与板砖
# @File :Hand_painted.py
from PIL import Image
import numpy as np
im = np.array(Image.open("d:/1.jpg").convert('L'))
print(im.shape, im.dtype)

# 对图像进行简单转换
im1 = 255-im
im2 = (100/255)*im+150
im3 = 255*(im1/255)**2
pil_im = Image.fromarray(np.uint(im3))
pil_im.show()
    操作结果如图:

对图像进行计算梯度、梯度归一化、虚拟光源、重构图像、输出图片操作:

    颜色只有黑白两种(转灰度图,像素点表示灰度值);勾勒轮廓,边界线条较重(计算梯度,梯度大的像素点分配更大的灰度值);相同或相近的色彩趋于白色(计算梯度,相同或相近的色彩的灰度图的梯度值接近于0);略有光源效果(在梯度分量上乘上光源影响因子在该方向上的投影)。
# -*- coding: utf-8 -*-
# @Time :2022/3/19 11:39
# @Author : 搬砖与板砖
# @File :Hand_painted.py
from PIL import Image
import numpy as np
a = np.asarray(Image.open("D:/1.jpg").convert('L')).astype('float')  # 获取灰度图的像素矩阵
depth = 10.  # 立体化,深度值,取值(0-100)
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  # x,y,z表示图像平面的单位法向量在三个轴上的投影
uni_y = grad_y / A
uni_z = 1 / A
vec_el = np.pi / 2.2  # 光源的俯视角度
vec_az = np.pi / 4.  # 光源的方位角度
dx = np.cos(vec_el) * np.cos(vec_az)  # 光源对x轴的影响因子
dy = np.cos(vec_el) * np.sin(vec_az)  # 光源对y轴的影响因子
dz = np.sin(vec_el)  # 光源对z轴的影响因子
b = 255 * (dx * uni_x + dy * uni_y + dz * uni_z)  # 将各方向的梯度分别乘上虚拟光源对各方向的影响因子,将梯度还原成灰度
b = b.clip(0, 255)  # 舍弃溢出的灰度值
hm = Image.fromarray(b.astype('uint8'))
hm.save('D:\2.jpg')
    操作结果如图:

    如有任何问题皆可留言,共同商讨一同进步。
    您的支持是笔者前进的动力,感谢观看!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/782886.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号