当我必须使用 opencv 锐化图像时,我使用:
#Create our shapening kernel
kernel_sharpening = np.array([[0,-1,0],
[-1, 5,-1],
[0,-1,0]])# applying the sharpening kernel to the input image & displaying it.
sharpened = cv2.filter2D(image, -1, kernel_sharpening)
在上面的代码中锐化的是我们的结果图像。正如您在上面的代码中看到的,我使用名为 filter2D 的 opencv 函数来执行输入图像与内核的卷积,结果我得到了锐化的图像。
最近我浏览了这个关于图像超分辨率的链接(链接)
并发现 Keras 有类似于 filter2D 的东西,Keras 称之为 Conv2D。
它的语法如下:
dis2 = Conv2D(filters=64, kernel_size=3, strides=2, padding='same')(dis1)
我的问题是 opencv filter2D 和 Keras Conv2D 有什么区别?
(我假设两者都对图像与内核进行卷积的作用相同,我可能错了,请纠正)