当我必须使用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函数来执行输入图像与内核的卷积,结果我得到了锐化的图像。
最近我浏览了这个关于图像超分辨率(link)的链接。
发现凯拉斯有类似于filter2D的东西,凯拉斯称之为Conv2D。
其语法如下:
dis2 = Conv2D(filters=64, kernel_size=3, strides=2, padding='same')(dis1)我的问题是opencv filter2D和Keras Conv2D有什么不同?
(我假设两者都做了与内核卷积图像的相同作用,我可能是错的,请正确)
发布于 2019-11-05 10:38:10
我不确定我是否理解了你的问题,但是使用OpenCV,你只能运行一个常量的预定义过滤器。但是使用Keras,您可以了解特定于您的问题和数据集的权重!
https://stackoverflow.com/questions/58703639
复制相似问题