I am implementing my convolution logic for image filtering in Python, but it is only rendering a black image every time for different input images and kernels. Need help. Below is the code
def convolution_filter(gray_img,kernel):
img_ht,img_wt = gray_img.shape;
kernel_ht, kernel_wt = kernel.shape;
out_img = np.zeros(shape=gray_img.shape)
k =int((kernel_ht-1)/2);
fl_kernel = kernel;
flip_code = -1;
bdr = int((kernel_wt-1)/2)
v_anchor = (kernel_ht-1)/2
gray_img = cv2.copyMakeBorder(gray_img, bdr, bdr, bdr, bdr,cv2.BORDER_REPLICATE)
for i in range(bdr,img_ht+bdr):
for j in range(bdr,img_wt+bdr):
center=gray_img[i-bdr:i+bdr+1, j-bdr:j-bdr+1]
convolve = (center*kernel).sum()
out_img[i-bdr,j-bdr] = convolve
out_img = (out_img * 255).astype("uint8")
return out_img;
'''