opencv+Python图像处理进阶教程学习总结记录(一)

教程:2 opencv+python图像处理进阶

讲解老师:贾志刚

1.1 进阶主要内容概述:图像卷积与应用,直方图应用,模板匹配,图像金字塔

1.2 模糊与卷积原理

opencv+Python图像处理进阶教程学习总结记录(一)_第1张图片opencv+Python图像处理进阶教程学习总结记录(一)_第2张图片

上图显示为一维和二维的均值卷积示例

相关Api : blur

代码示例

import cv2 as cv
def blur_demo():
    src = cv.imread("D:/javaopencv/test1.png")
    cv.imshow("input", src)
    dst = cv.blur(src, (15, 15))
    cv.imshow("blur image", dst)
if __name__ == "__main__":
    blur_demo()
    cv.waitKey(0)
    cv.destroyAllWindows()

补充,图像模糊(平滑)的作用,一般的主要目的是对图像噪声的消除, 

1.3 均值与高斯模糊

上述代码示例为均值模糊,

对于均值模糊,卷积核系数相同,而高斯模糊卷积核系数不同,如中间的数值最大,往两边走越来越小,构造一个小的高斯包。

opencv+Python图像处理进阶教程学习总结记录(一)_第3张图片opencv+Python图像处理进阶教程学习总结记录(一)_第4张图片

使用的api :GaussianBlur()

示例代码:

import cv2
import numpy as np
import matplotlib.pyplot as plt

img = cv2.imread('flower.jpg',0) #直接读为灰度图像
for i in range(2000): #添加点噪声
    temp_x = np.random.randint(0,img.shape[0])
    temp_y = np.random.randint(0,img.shape[1])
    img[temp_x][temp_y] = 255
blur = cv2.GaussianBlur(img,(5,5),0)
plt.subplot(1,2,1),plt.imshow(img,'gray')#默认彩色,另一种彩色bgr
plt.subplot(1,2,2),plt.imshow(blur,'gray') 

1.4 统计滤波器

见opencv+python图像处理进阶教程学习记录(二)

你可能感兴趣的:(个人学习日志)