Я хочу получить градиент от моего изображения в направлении x и y. Но моя функция - функция Гаусса, и я не достиг градиента изображения. Можете ли вы предложить методы для градиента?
Вот мои пределы по Гауссу.
X_test = np.arange(-10, 10, 1)
Это моя гауссовская формула (производная гауссовская форма)
sigma = 5
x_direction = ((-2*X_test)*np.exp(-(np.square(X_test/2)/sigma)))/sigma
Общий код:
import cv2
import numpy as np
import math
np.set_printoptions(threshold=5)
img = cv2.imread("...\\test_2.jpg",0)
X_test = np.arange(-10, 10, 1)
sigma = 5
x_direction = ((-2*X_test)*np.exp(-(np.square(X_test/2)/sigma)))/sigma
dst1 = cv2.filter2D(img,cv2.CV_8U,x_direction)
cv2.imshow('gausssian_x',dst1)
Y_test = np.arange(-10, 10, 1)
y_direction = ((-2*Y_test)*np.exp(-(np.square(Y_test/2)/sigma)))/sigma
dst2 = cv2.filter2D(img,-1,y_direction)
cv2.imshow('gausssian_y',dst2)
cv2.waitKey(0)
cv2.destroyAllWindows()