Python 官方文档:入门教程 => 点击学习
1. 图像加载与显示 NumPy的load()函数可轻松读取常见的图像格式,如PNG、JPEG等。通过imshow()函数即可便捷地显示图像。以下代码示例演示了如何使用NumPy加载并显示一张图像: import numpy as np
1. 图像加载与显示
NumPy的load()函数可轻松读取常见的图像格式,如PNG、JPEG等。通过imshow()函数即可便捷地显示图像。以下代码示例演示了如何使用NumPy加载并显示一张图像:
import numpy as np
import cv2
# 加载图像
image = cv2.imread("image.jpg")
# 转换图像格式
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# 显示图像
plt.imshow(image)
plt.show()
2. 图像属性获取
NumPy提供了一些函数来获取图像的属性,如图像尺寸、通道数等。以下代码示例演示了如何获取图像的形状和通道数:
# 获取图像形状
image_shape = image.shape
# 获取通道数
num_channels = image_shape[-1]
print("图像形状:", image_shape)
print("通道数:", num_channels)
3. 图像数据操作
NumPy强大的数组运算功能使图像数据处理变得异常便捷。以下代码示例演示了如何使用NumPy对图像数据进行加法、减法、乘法和除法运算:
# 加法运算
image_add = image + 50
# 减法运算
image_sub = image - 50
# 乘法运算
image_mul = image * 2
# 除法运算
image_div = image / 2
# 显示运算结果
plt.subplot(2, 2, 1)
plt.imshow(image_add)
plt.title("加法运算")
plt.subplot(2, 2, 2)
plt.imshow(image_sub)
plt.title("减法运算")
plt.subplot(2, 2, 3)
plt.imshow(image_mul)
plt.title("乘法运算")
plt.subplot(2, 2, 4)
plt.imshow(image_div)
plt.title("除法运算")
plt.show()
4. 图像分割
NumPy为图像分割提供了丰富的工具。以下代码示例演示了如何使用NumPy进行图像分割:
# 导入必要的库
import numpy as np
import cv2
# 加载图像
image = cv2.imread("image.jpg")
# 转换图像格式
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# 图像灰度化
gray_image = cv2.cvtColor(image, cv2.COLOR_RGB2GRAY)
# 高斯滤波
blurred_image = cv2.GaussianBlur(gray_image, (5, 5), 0)
# 边缘检测
edges = cv2.Canny(blurred_image, 100, 200)
# 查找轮廓
contours, _ = cv2.findContours(edges, cv2.RETR_EXTERNAL, cv2.CHaiN_APPROX_SIMPLE)
# 绘制轮廓
cv2.drawContours(image, contours, -1, (0, 255, 0), 2)
# 显示分割结果
plt.imshow(image)
plt.title("图像分割")
plt.show()
5. 图像滤波
NumPy提供了多种图像滤波器,可用于图像增强、降噪等。以下代码示例演示了如何使用NumPy对图像进行滤波:
# 导入必要的库
import numpy as np
import cv2
# 加载图像
image = cv2.imread("image.jpg")
# 转换图像格式
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
# 高斯滤波
gaussian_image = cv2.GaussianBlur(image, (5, 5), 0)
# 中值滤波
median_image = cv2.medianBlur(image, 5)
# 双边滤波
bilateral_image = cv2.bilateralFilter(image, 9, 75, 75)
# 显示滤波结果
plt.subplot(2, 2, 1)
plt.imshow(image)
plt.title("原图")
plt.subplot(2, 2, 2)
plt.imshow(gaussian_image)
plt.title("高斯滤波")
plt.subplot(2, 2, 3)
plt.imshow(median_image)
plt.title("中值滤波")
plt.subplot(2, 2, 4)
plt.imshow(bilateral_image)
plt.title("双边滤波")
plt.show()
6. 更多应用
除了以上介绍的应用外,NumPy在图像处理领域还有许多其他应用,如图像金字塔、图像形态学、图像配准等。
--结束END--
本文标题: NumPy图像处理秘籍:让图像数据焕发生机
本文链接: https://lsjlt.com/news/563324.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0