python柱状图标注均值标准差_OpenCV Python 图像矩阵的均值和标准差

By 凌顺

2019年9月17日

本示例使用的OpenCV版本是:OpenCV 4.1.1

运行Python的编辑器:Jupyter notebook 6.0.0

实现目的

学会使用NumPy的mean和std方法,分别得出均值和标准差,对图像矩阵进行操作

实现代码

1,加载需要的库和图像并以RGB模式显示

import cv2

import numpy as np

import matplotlib.pyplot as plt

img = cv2.imread('dog.png').astype(np.float32) / 255

img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

plt.imshow(img)

2,对图像的矩阵减平均值

# 通过img.copy()方法,复制img的数据到mean_img

mean_img = img.copy()

# 使用 .mean() 方法可得出 mean_img 的平均值

print(mean_img.mean())

# mean_img -= mean_img.mean() 等效于 mean_img = mean_img - mean_img.mean()

# 减去平均值,得出零平均值矩阵

mean_img -= mean_img.mean()

# 显示图像

plt.imshow(mean_img)

3,再对图像矩阵除于标准差

std_img = mean_img.copy()

# 输出 std_img 的标准差

print(std_img.std())

# std_img /= std_img.mean() 等效于 std_img = std_img / std_img.mean()

# 除于标准差,得出单位方差矩阵

std_img /= std_img.std()

# 显示图像

plt.imshow(std_img)

程序说明

这些NumPy的数据有计算平均值mean和标准差std的方法。

要对矩阵进行标准化,我们需要减去均值得到一个零均值,以通过零均值并除以矩阵的标准差得到一个单位方差矩阵。

你可能感兴趣的:(python柱状图标注均值标准差_OpenCV Python 图像矩阵的均值和标准差)