首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >cv2.Laplacian与cv2.filter2d -不同的结果

cv2.Laplacian与cv2.filter2d -不同的结果
EN

Stack Overflow用户
提问于 2020-06-17 16:57:02
回答 1查看 608关注 0票数 1

我正在尝试将我的灰度图像与各种滤镜进行卷积。我已经使用了

代码语言:javascript
复制
cv2.Laplacian(gray, cv2.CV_64F)

代码语言:javascript
复制
kernel =np.array([[0, 1, 0] , [1, -4, 1] , [0, 1, 0]])
dst = cv2.filter2D(gray, -1, kernel)

但是结果是不同的。

有人能解释一下为什么我得到了不同的结果吗?

EN

回答 1

Stack Overflow用户

发布于 2020-06-17 17:57:03

因为在这种情况下,cv2.Laplacian的实现所做的就是像您所做的那样与[[0, 1, 0], [1, -4, 1], [0, 1, 0]]过滤器进行卷积,所以似乎罪魁祸首就是您提供给cv2.Filter2D的数据类型。

通过使用以下代码

代码语言:javascript
复制
kernel = np.array([[0, 1, 0] , [1, -4, 1] , [0, 1, 0]])
dst1 = cv2.filter2D(im, ddepth=cv2.CV_64F, kernel=kernel)
dst2 = cv2.Laplacian(im, cv2.CV_64F)

你应该得到

代码语言:javascript
复制
>>> np.all(dst1==dst2)
True
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62425209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档