1. 程式人生 > >opencv+Python影象處理進階教程學習總結記錄(一)

opencv+Python影象處理進階教程學習總結記錄(一)

教程:2 opencv+python影象處理進階

講解老師:賈志剛

1.1 進階主要內容概述:影象卷積與應用,直方圖應用,模板匹配,影象金字塔

1.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 均值與高斯模糊

上述程式碼示例為均值模糊,

對於均值模糊,卷積核係數相同,而高斯模糊卷積核係數不同,如中間的數值最大,往兩邊走越來越小,構造一個小的高斯包。

使用的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影象處理進階教程學習記錄(二)