关于AdaptiveThreshold()的问题

时间:2019-06-25 14:51:48

标签: python numpy opencv threshold

// 1.使用_的目的

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()”会发生什么?

1 个答案:

答案 0 :(得分:0)

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

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

将返回255。 如果您将其设置为其他类似方式

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

它将返回200

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

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

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