Opencv的学习之图像滤波

python的代码展示

import cv2
import matplotlib.pyplot as plt


img = cv2.imread(r'C:\Users\master\Desktop\HHH.jpg')

#均值滤波,简单的平均卷积操作
blur = cv2.blur(img , (3, 3))
#即对应的数值相加,之后除以3*3

#方框滤波,基本和平均值一样,可以选择归一化
box = cv2.boxFilter(img,-1,(3,3),normalize=True)

#方框滤波,基本和平均值一样,可以选择归一化,容易越界
box1 = cv2.boxFilter(img,-1,(3,3), normalize=False)

#第二想是处理结果图像的图像深度,一般使用-1表示与原始图像使用相同的图像深度
#参数说明当normalize=True时,与均值滤波结果相同
#normalize=False,表示对加和后的结果不进行平均操作,大于255的使用255表示

titles = ['img','img_blur','boc_True','box_Flaes']
images = [img, blur, box, box1]

for i in range(4):
    plt.subplot(2, 2, i + 1),plt.imshow(images[i],'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])
plt.show()    

box 和 box1的区别在于是否除去 行*列,box1不除而数值大的部分用255来表示数值的大小

效果展示:

Opencv的学习之图像滤波_第1张图片

你可能感兴趣的:(opencv,计算机视觉,学习)