我目前正在写一些关于中值滤波器的东西,并希望使用一些python函数来创建示例。我有一个具有以下像素的示例图像:
[[255 0 0 0 158]
[ 0 158 158 158 158]
[ 0 0 255 0 0]
[ 0 0 0 0 158]
[ 0 255 0 0 158]]
python结果如下所示:
[[158 0 0 158 158]
[ 0 0 0 158 158]
[ 0 0 0 158 158]
[ 0 0 0 0 0]
[ 0 0 0 0 158]]
我现在的问题是理解这个结果是如何创建的(我正在检查一个3x3半径),因为我知道第一个像素(0,0处的255)应该有结果0,因为它周围缺少的像素用0填充。如果我手动检查,我会认为我们正在查看的填充:
0 0 0
0 255 0
0 0 158
所以有序数据是[0,0,0,0,0,0,0,0,158,255],因此中位数应该是0。结果如何?许多其他值也存在类似的混淆。我从李哲·塔(lizhe ta)和让·江(jean jiang)那里读到了“数字信号处理”中位数的工作。可在此处找到章节(“13.4.2中值滤波”和“示例13.8”)https://www.sciencedirect.com/topics/computer-science/median-filter
我这样调用过滤器函数:导入:
import cv2
from scipy import ndimage
代码片段:
median = cv2.medianBlur(gray, 3)
print(median)
im_med = ndimage.median_filter(gray, 3)
print(im_med)
因为我想写我自己的过滤函数,所以我必须准确地理解这一切是如何工作的!
暂无答案!
目前还没有任何答案,快来回答吧!