你的位置:上海抖音美工 > 生活服务 > 兼职美工 14.1 numpy实战案例(对图片进行灰度化)
兼职美工 14.1 numpy实战案例(对图片进行灰度化)
发布日期:2024-08-23 10:08    点击次数:53

兼职美工 14.1 numpy实战案例(对图片进行灰度化)

图像的组成

首先了解一下图像,图像其实是由若干个像素组成,每一个像素都有明确的位置和被分配的颜色值,因此一张图像也就构成了一个像素矩阵。

什么是灰度图

灰度图,也被称为灰阶图像或灰度级图像,是一种只使用不同深浅的灰色来表示图像的图片类型。在灰度图中,每个像素的颜色由单一的灰度值表示,而不是RGB色彩空间中的红、绿、蓝三原色组合。灰度值通常在0到255之间,其中0表示纯黑色,255表示纯白色,中间的数值表示不同程度的灰色。

灰度图有什么用处

灰度图相比于彩色图像有几个优点:

1.存储空间小:

灰度图的每个像素只需要一个字节(8位)来表示,而彩色图像(如使用RGB色彩空间)通常需要3个字节(24位)来表示每个像素,因此灰度图占用的存储空间更小。

2.处理速度快:

由于灰度图的数据量较小,处理起来通常比彩色图像更快,电商设计师这在图像处理和计算机视觉领域尤为重要。

3.简化分析:

在很多图像处理和分析应用中,灰度图可以提供足够的信息,而不需要处理复杂的颜色信息,这可以简化算法的设计和实现。

4.通用性:

许多图像处理算法最初是为灰度图像设计的,然后才扩展到彩色图像。因此,灰度图在图像处理领域有着广泛的应用,包括边缘检测、特征提取、图像识别等。

Python对通过numpy对图片进行灰度处理

处理思路:

首先通过Matplotlib读取图片,然后根据RGB转换为灰度的公式,对图片的数组信息进行光运算处理,最后生成一张新的灰度处理的图像。

使用numpy结合Matplotlib实现图像的灰度处理

import numpy as np

import matplotlib.pyplot as plt

n1 = plt.imread('flower.jpg') # 读取图片

plt.imshow(n1) # 传入数组显示对应的颜色

# n1 为三维的数组,最高维是图像的高,次高维是图像的宽,最低维[R G B] 是颜色值

n2 = np.array([0.299,0.587,0.114]) # 灰度公式的固定值

x = np.dot(n1,n2) # 将数组n1(GRB) 和数组 n2(灰度公式固定值) 中的每个元素进行点乘运算

plt.imshow(x,cmap='gray') # 传入数组显示灰度

plt.show() # 显示图像

原图像:

灰度处理的图像

#python数据分析笔记#

想了解更多精彩内容,快来关注懒人编程