Я не очень хорошо знаю OpenCV.Но так я бы поступил в командной строке ImageMagick 7 в Bash Unix.
IM 7 (HDRI по умолчанию) с зажимом = выключен необходим, чтобы избежать ограничения свертки для значений за пределами квантового диапазона (что произошло бы для не HDRI).
Замечуэто масштаб 1x1!вычислю среднее, а не сумму.Но поскольку числитель и знаменатель имеют одинаковое количество пикселей, соотношение не имеет значения, суммирую я или усредняю.
Ввод:
![enter image description here](https://i.stack.imgur.com/b8GTr.png)
wt=`magick sample11.png \
\( -clone 0 -define convolve:scale=! -define compose:clamp=off -morphology convolve "3x1: -1,0,1" +duplicate -compose multiply -composite -evaluate pow 0.5 \) \
\( -clone 0 -define convolve:scale=! -define compose:clamp=off -morphology convolve "1x3: -1,0,1" +duplicate -compose multiply -composite -evaluate pow 0.5 \) \
-delete 0 -evaluate-sequence max \
-scale 1x1! -format "%[fx:u]" info:`
wtI=`magick sample11.png \
\( -clone 0 -define convolve:scale=! -define compose:clamp=off -morphology convolve "3x1: -1,0,1" +duplicate -compose multiply -composite -evaluate pow 0.5 \) \
\( -clone 0 -define convolve:scale=! -define compose:clamp=off -morphology convolve "1x3: -1,0,1" +duplicate -compose multiply -composite -evaluate pow 0.5 \) \
\( -clone 1,2 -evaluate-sequence max \) \
-delete 1,2 \
-evaluate-sequence multiply \
-scale 1x1! -format "%[fx:u]" info:`
thresh=`convert xc: -format "%[fx:100*$wtI/$wt]" info:`
echo $thresh
50.0114
magick sample11.png -threshold $thresh% result.png
![enter image description here](https://i.stack.imgur.com/sHWu5.png)
Вот несколько полезных ссылок для выполнения свертки, разности, абсолютного значения, умножения и среднего (среднего) в Python OpenCV:
https://www.pyimagesearch.com/2016/07/25/convolutions-with-opencv-and-python/
https://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html
Однако я не думаю, что это очень хорошо работает на реальных изображениях.Я примерил несколько.Вот один пример:
![enter image description here](https://i.stack.imgur.com/0aFHq.png)
и вот результат:
![enter image description here](https://i.stack.imgur.com/2Lhx5.png)
Итак, я задаюсь вопросом, какова цель этого порогового уровня или на каких типах изображений он хорошо работает?