python - 如何在python2.7中使用cv2制作一个新的过滤器并将其应用于图像?

标签 python python-2.7 opencv

如何在 python2.7 中使用 cv2 制作新滤镜并将其应用于图像?

例如:

kernel = np.array([[-1, -1, -1],
                   [-1,  4, -1],
                   [-1, -1, -1]])

我是 opencv 的新手,所以如果你能解释一下那就太好了。谢谢!

最佳答案

就将自定义内核应用于给定图像而言,您可以简单地使用 filter2D方法来提供自定义过滤器。您也可以复制以下代码来开始。但是当前过滤器的结果似乎有点奇怪:

import cv2
import numpy as np

# Create a dummy input image.
canvas = np.zeros((100, 100), dtype=np.uint8)
canvas = cv2.circle(canvas, (50, 50), 20, (255,), -1)

kernel = np.array([[-1, -1, -1],
                   [-1, 4, -1],
                   [-1, -1, -1]])

dst = cv2.filter2D(canvas, -1, kernel)
cv2.imwrite("./filtered.png", dst)

输入图片:

enter image description here

输出图像:

enter image description here

编辑:根据@Dolphin建议的编辑,使用中心值为 8 的内核,在圆形二进制盘的情况下会得到很好的结果。

关于python - 如何在python2.7中使用cv2制作一个新的过滤器并将其应用于图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39685757/

相关文章:

python - 使用 selenium 和 python 选择下拉菜单时遇到问题

python - 如何找到 ndarray 中索引的值并将其转换为 pandas Dataframe?

python - Dockerfile 无法复制 & Docker-compose 卷不与容器同步

opencv - 使用32位ARGB相机缓冲区初始化OpenCV Mat

dll - OpenCV highgui110.dll 链接错误

Python O(1) 成员数据访问可能吗?

python - 记录 mpi4py 子文件

python - opencv2 Aruco 库模块不适用于 python

python - 类型错误 : 'type' object has no attribute '__getitem__'

python-3.x - 使用 OpenCV 为 png 设置白色背景而不是透明度