[英]What is the difference between filter2D, and Conv2D?
当我必须使用 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)
在上面的代码中锐化的是我们的结果图像。 正如您在上面的代码中看到的,我使用了 opencv function 命名 filter2D 来执行输入图像与 kernel 的卷积,结果我得到了锐化的图像。
最近我浏览了这个关于图像超分辨率的链接( 链接)
并发现 Keras 具有类似于 filter2D 的东西,而 Keras 将其称为 Conv2D。
它的语法如下:
dis2 = Conv2D(filters=64, kernel_size=3, strides=2, padding='same')(dis1)
我的问题是 opencv filter2D 和 Keras Conv2D 有什么区别?
(我假设两者都对 kernel 进行图像卷积的作用相同,我可能错了,请纠正)
我不确定我是否收到您的问题,但使用 OpenCV,您只能运行一个常量预定义过滤器。 但是使用 Keras,您可以学习特定于您的问题和数据集的权重!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.