#均值 6*6 1 。 * 【6*6】/36 = mean -》P
import cv2
import numpy as np
img = cv2.imread('image11.jpg',1)
cv2.imshow('src',img)
imgInfo = img.shape
height = imgInfo[0]
width = imgInfo[1]
dst = np.zeros((height,width,3),np.uint8)
for i in range(3,height-3):
for j in range(3,width-3): #6*6的一小块 对每个像素点都这样取
sum_b = int(0)
sum_g = int(0)
sum_r = int(0)
for m in range(-3,3):#-3 -2 -1 0 1 2 #对36个点
for n in range(-3,3):
(b,g,r) = img[i+m,j+n]
sum_b = sum_b+int(b) #计算小块内 r总和,g总和,b总和
sum_g = sum_g+int(g)
sum_r = sum_r+int(r)
b = np.uint8(sum_b/36) #计算小块内像素点的平均b 平均g 平均r
g = np.uint8(sum_g/36)
r = np.uint8(sum_r/36)
dst[i,j] = (b,g,r)
cv2.imshow('dst',dst)
cv2.waitKey(0)
opecv入门:4.6图像美化-高斯滤波
最新推荐文章于 2023-10-07 15:36:21 发布