2017-01-05 1 views
0

Я хочу взять видео и создать из него двоичный файл, поэтому хочу, чтобы пиксель находился в определенном диапазоне, он будет включен в двоичный файл. Другими словами, мне нужна верхняя и нижняя граница, как в функции inRange(), в отличие от простой точки отсечения, например, в функции threshold().Применение адаптивного порогового значения для функции inrange opencv C++

Я также хочу использовать адаптивное пороговое значение для учета различий в освещении в моем видео. Есть ли способ сделать это? Я знаю, что есть inRange(), который делает первый и adaptiveThreshold(), который делает последнее, но я не знаю, есть ли способ сделать то и другое.

ответ

1

Применить adaptiveThreshold() ко всему исходному изображению, а затем применить InRange() к исходному изображению и использовать результат InRange() в качестве маски:

adaptiveThreshold(original_image, dst_image ...); 
inRange(original_image, minArray, maxArray, mask); 
Mat output = dst_image.mul(mask); 
Смежные вопросы