Как вызвать функцию OpenCV Sobel для вычисления фактической производной изображения при заданном размере ядра? То есть учитывая, что изображение является функцией от f(x, y)
и x, y
охватывает от [0, 0]
до [width, height]
в пикселях?Как нормализовать размер ядра OpenCV Sobel для данного ядра
dimg_x = cv2.Sobel(img, ddepth=-1, dx=1, dy=0, ksize=ksize)
Возможно некоторое масштабирование должно быть применен к градиентному изображению, но я не могу понять, как вычислить его с учетом размера ядра.
градиента Собел является приближением градиента. Итак, это зависит от того, что вы называете «фактической» производной. Все численные методы являются приближениями. В какой-то момент вы могли бы просто принять разницу в горизонтальном или вертикальном направлении строк и столбцов соответственно. – Cyb3rFly3r
@ Cyb3rFly3r "actual" Я имею в виду под определением. Я в порядке, это приближение, но для некоторых приложений неприемлемо, что он масштабируется как 100 раз. – DikobrAz
Определение производной требует непрерывной функции, которой у вас нет в цифровом изображении, которое является дискретным представлением некоторой непознаваемой функции. Существует много способов приблизиться к градиенту, вероятно, Sobel - это не то, что вы ищете. В простейших подходах было бы использовать numpy.diff вдоль столбцов и строк. – Cyb3rFly3r