天天看點

關于卷積和卷積核的作用一例

代碼:

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

img = plt.imread("jpeg.jpeg")                        #在這裡讀取圖檔

plt.imshow(img)                                     #顯示讀取的圖檔
pylab.show()

fil_0 = np.array([[ -1,-1, 0],                        #這個是設定的濾波,也就是卷積核
                 [ -1, 0, 1],
                 [  0, 1, 1]])

fil_1 = np.array([[ -1,0, 1],                        #這個是設定的濾波,也就是卷積核
                 [ -2, 0, 2],
                 [ -1, 0, 1]])

fil_2 = np.array([[ -1,-2, -1],                        #這個是設定的濾波,也就是卷積核
                 [ 0, 0, 0],
                 [ 1, 2, 1]])

res_0 = cv2.filter2D(img,-1,fil_0)                      #使用opencv的卷積函數

plt.imshow(res_0)                                     #顯示卷積後的圖檔
plt.imsave("res_0.jpg",res_0)

res_1 = cv2.filter2D(img,-1,fil_1)                      #使用opencv的卷積函數

plt.imshow(res_1)                                     #顯示卷積後的圖檔
plt.imsave("res_1.jpg",res_1)
res_2 = cv2.filter2D(img,-1,fil_2)                      #使用opencv的卷積函數

plt.imshow(res_2)                                     #顯示卷積後的圖檔
plt.imsave("res_2.jpg",res_2)
pylab.show()
           

原始圖檔:

關于卷積和卷積核的作用一例

三種卷集核卷積出來的效果:

關于卷積和卷積核的作用一例

注意看牆上的字,最左邊這幅圖對輪廓的提取比較好,中年的對豎直線特征提取的更好,而最右邊的則對橫線特征提取的更好。

關于卷積和卷積核的作用一例

不知道這張能不能過審,但是明顯網襪的紋理特征更能說明問題

關于卷積和卷積核的作用一例

結束!

繼續閱讀