Вопросы для adaptiveThreshold () - PullRequest
0 голосов
/ 25 июня 2019

// 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. Для чего нужно 2-е значение (255), 5-е (11), 6-е (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 голосов
/ 25 июня 2019

Второе значение (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

Но значение 5h - это размер блока, который используется как соседство для различных адаптивных порогов.

6-е значение - это постоянное значение, которое вычитается из среднего или взвешенного среднего.

...