繁体   English   中英

filter2D 和 Conv2D 有什么区别?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM