adaptiveThreshold() 的问题

Questions for adaptiveThreshold()

// 1.what使用_的目的,

import cv2 as cv
import numpy as np

img = cv.imread('sudoku.png',0)


 _,th1 =cv.threshold(img,127,255,cv.THRESH_BINARY)  

// 2. 第二个值(255)、第五个(11)、第六个(2)是什么? 如果我们改变它们中的每一个,会发生什么?

 th2=cv.adaptiveThreshold
(img,255,cv.ADAPTIVE_THRESH_MEAN_C,cv.THRESH_BINARY,11,2)

 cv.imshow("Image",img)
 cv.imshow("th1",th1)
 cv.imshow("th2",th2)

 cv.waitKey(0)
 cv.destroyAllWindows()

// 3. 如果不使用“cv.destroyAllWindows()”会怎样?

第二个值 (255) 是用于最大值的值。

_,th1 =cv.threshold(img,127,255,cv.THRESH_BINARY)
np.max(th1)

将 return 255。 如果你把它设置成这样的其他东西

_,th2 =cv.threshold(img,127,200,cv.THRESH_BINARY)
np.max(th2)

会return200

其他两个参数在这里很好地解释:OpenCV 2.4 docs

但是 5h 值是用作不同自适应阈值邻域的块大小。

第 6 个值是从平均值或加权平均值中减去的常数值。