卷积&模糊

2017-12-31  本文已影响0人  NextStepPeng

什么是卷积呢?

---卷积就是对两个函数进行数学运算产生第三个函数!

1、Kernel:内核采集区域

2、Blurring:模糊算法(方式有取大、取小)

实例

来先举例说明,来读取张原图,等会还做对比

import cv2

import numpy  as np

image = cv2.imread('images/Hillary.jpg')

cv2.imshow('Original Image',image)

cv2.waitKey()

原图

再创建个9*9的的内核(处理之后的图片和原图的大小是一样的)

kernel_9 = np.ones((9,9),np.float32) / 81

blurred9 = cv2.filter2D(image,-1,kernel_9)  #检测到核中心的部位的色值会平均到周围,这样来造成模糊的效果,内核的区域越大会导致越模糊

#这个的模糊处理和马赛克是有区别的

#马赛克是通过遮罩的方式加在上面产生模糊(博码,后码);

#这个是直接对原图通过操作内核的方式直接处理;

#cv2.filter2D(对那个图片做处理,如果是全局的话是-1,用什么内核)

cv2.imshow("9x9",blurred9)

cv2.waitKey()

9*9处理之后的图片

2、用另外种方式处理模糊度

import cv2

import numpy as np

image = cv2.imread('images/Hillary.jpg')

#通过归一化的处理,内核进行卷积完成平均

blur = cv2.blur(image,(9,9))#把图片那进来,设定一个范围,直接做模糊处理

cv2.imshow("Averaging",blur)

cv2.waitKey()

Blur方式

下面在看通过中位数处理方式

import cv2

import numpy as np

image = cv2.imread('images/Hillary.jpg')

#中位数处理方式

mdianblur = cv2.medianBlur(image,9) #还是9*9

cv2.imshow("mdianblur",mdianblur)

cv2.waitKey()

通过中位数处理,模糊效果还是有差异,请细心观察

高斯处理:

import cv2

import numpy as np

image = cv2.imread('images/Hillary.jpg')

#高斯处理方式

gaussian = cv2.GaussianBlur(image,(7,7),0)#颜色会有 些差异会柔和些

cv2.imshow("Gaussing",gaussian)

cv2.waitKey()

高斯处理

去燥,杂音一样的像素进行处理,具有美颜效果

import cv2

import numpy as np

image = cv2.imread('images/Hillary.jpg')

#去燥,会让图片更加清晰

bilateral = cv2.bilateralFilter(image,9,75,75)#处理完,可以看到像素的锯齿特别细腻

#75,75 齿距 两边的留存率75%

cv2.imshow("bilateral",bilateral)

cv2.waitKey()

去燥之后的图片
上一篇 下一篇

猜你喜欢

热点阅读