首页 > 解决方案 > 图像过滤器为相似图像提供不同的结果

问题描述

我正在尝试使用自定义内核来提取给定图像中的边界线。

我使用的过滤器是np.array([[-2, -1, 0], [-1, 10, 1], [0, 1, 2]]). 对于具有相似性质的给定图像集,代码生成的结果有时会出现阴影,而其他图像则不存在。

我无法弄清楚为什么会这样。我已阅读有关自定义过滤器以及过滤器如何工作的信息,但它并没有解决我的问题。

代码如下:

import cv2
import sys
import numpy as np 

im_name = sys.argv[1]#give path to the image

im = cv2.imread(im_name, 0)

im_copy = im.copy()

#create custom filter

my_filter = np.array([[-2, -1, 0], [-1, 10, 1], [0, 1, 2]])

dst = cv2.filter2D(im, -1, my_filter)

cv2.imshow("test", im)
cv2.imshow("check", dst)
cv2.waitKey(0)
cv2.destroyAllWindows()

图片12显示异常结果,其余图片显示预期 结果

标签: pythonopencvimage-processingimagefilter

解决方案


推荐阅读