2017-04-13 654 views
-1
import cv2 
import numpy as np 
from matplotlib import pyplot as plt 

img = cv2.imread('logo.png') 

kernel = np.ones((5, 5), np.float32)/25 
dst = cv2.filter2D(img, -1, kernel) 
plt.subplot(121), plt.imshow(img), plt.title('Original') 
plt.xticks([]), plt.yticks([]) 
plt.subplot(122), plt.imshow(dst), plt.title('Averaging') 
plt.xticks([]), plt.yticks([]) 
plt.show() 

我正在嘗試平滑圖片,我不明白cv2.filter2d()的值爲-1的ddepth參數。那麼-1做什麼以及ddpeth是什麼意思?cv2.filter2d()opencv中ddepth參數的說明?

+0

請閱讀[DOC](http://docs.opencv.org/master/d4/d86/group__imgproc__filter.html#ga27c049795ce870216ddfb366086b5a04) – Miki

+0

@Miki我閱讀,我不明白我爲什麼張貼了這個問題?請解釋你是否明白。謝謝 。 – npkp

回答

0

您可以在doc中看到ddepth代表「目標深度」,它是結果(目標)圖像的深度。

如果您使用-1,結果(目標)圖像將具有與輸入(源)圖像相同的深度。

0

ddepth

ddepth意味着目標圖像的期望深度

它具有關於什麼種存儲的圖像中的數據,

並且可以是無符號字符(CV_8U),符號字符信息(CV_8S),無符號短(CV_16U),等等...

至於類型,類型具有信息由2個值組合而成:圖像深度+通道數量。

它可以是例如CV_8UC1(其等於CV_8U),CV_8UC2,CV_8UC3,CV_8SC1(其等於CV_8S)等

進一步閱讀

有關詳細的討論中,可以發現在以下兩篇文章