OpenCV Python image matrix mean and standard deviation

OpenCV Python image matrix mean and standard deviation

python+opencv3 generates a custom solid color map

# rgb均值及标准差
import os
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np
from scipy.misc import imread
import cv2
img = np.ones((600,600),dtype=np.uint8)#random.random()方法后面不能加数据类型
img[0,0]=0
img[0,1]=0
img[0,2]=0
cv2.imshow('img',img)
cv2.namedWindow("img",cv2.WINDOW_FREERATIO)
cv2.imwrite("1.jpg", img)

#生成彩色图
bgr_img = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
bgr_img[:,:,0] = 255
bgr_img[:,:,1] = 99
bgr_img[:,:,2] = 30
cv2.imshow('bgr_img2',bgr_img)
cv2.imwrite("3.jpg", bgr_img)

R_channel = 0
G_channel = 0
B_channel = 0

img = imread("3.jpg")
[height_src0, width_src0,hhh]= img.shape
num = height_src0 * width_src0  # 这里宽高是每幅图片的大小
R_channel = np.sum(img[:, :, 0])
G_channel = np.sum(img[:, :, 1])
B_channel = np.sum(img[:, :, 2])

R_mean = R_channel / num
G_mean = G_channel / num
B_mean = B_channel / num



print("R_mean is %f, G_mean is %f, B_mean is %f" % (R_mean, G_mean, B_mean))
#标准差
biaozhuncha=img.std()
#RGB均值,和上面的求出的结果是一样的
print(img[:, :, 0].mean())# r
print(img[:, :, 1].mean())# g
print(img[:, :, 2].mean())# b

print(biaozhuncha)

Guess you like

Origin blog.csdn.net/mao_hui_fei/article/details/114199345