Python用于二维矩阵上的循环过滤器/窗口?
我想创建一个能够以循环方式过滤的代码。我需要过滤这些数据,以便能够分析这些数据 例如,我有这些数据Python用于二维矩阵上的循环过滤器/窗口?,python,matrix,filtering,windowing,Python,Matrix,Filtering,Windowing,我想创建一个能够以循环方式过滤的代码。我需要过滤这些数据,以便能够分析这些数据 例如,我有这些数据 data=[[1,1,1,1,1], [2,2,2,2,2], [3,3,3,3,3], [4,4,4,4,4], [5,5,5,5,5]] 我只使用了scipy的过滤器,但是它只适用于array/multiarray。它一行一行地做。因此,它只会使输出形状像一个盒子或钟。我需要把它做成圆形/油炸圈饼 到目前为止,我只是设法做到了这一点 data=
data=[[1,1,1,1,1],
[2,2,2,2,2],
[3,3,3,3,3],
[4,4,4,4,4],
[5,5,5,5,5]]
我只使用了scipy的过滤器,但是它只适用于array/multiarray。它一行一行地做。因此,它只会使输出形状像一个盒子或钟。我需要把它做成圆形/油炸圈饼
到目前为止,我只是设法做到了这一点
data=[[0,0,0,0,0],
[0,2,2,2,0],
[0,3,3,3,0],
[0,4,4,4,0],
[0,0,0,0,0]]
有什么方法可以实现一个圆矩阵作为一个过滤器,使所有其他值都为0,但使圆的内部值保持不变
我想要这种输出
data=[[0,0,0,0,0],
[0,0,2,0,0],
[0,3,3,3,0],
[0,0,4,0,0],
[0,0,0,0,0]]
如果可能的话,我可以让它控制圆的厚度,这样我就可以有一个像这个成品一样的甜甜圈过滤器吗
data=[[0,0,0,0,0],
[0,0,2,0,0],
[0,3,0,3,0],
[0,0,4,0,0],
[0,0,0,0,0]]
欢迎来到Stackoverflow!我问自己的问题是:“什么是圆?”。如果你只处理5×5个形状的物体,你可以定义一个严格的形式,但是如果你处理任何其他的大小,你就必须定义,“圆”实际上意味着……圆是一个完美的圆,即使在[ 200到500 ]矩阵或[200到200 ]矩阵中,圆仍然是在矩阵的中间。使用(pi*r^2)的概念,也许我会重新问这个问题。1和2是你想要的圈吗?你会帮他们选哪种厚度?我建议您编写一个函数,用0和1创建圆,然后在原始矩阵上迭代,如果值为1,则保留该值,如果值为0,则忽略该值。这样做可以将您的问题简化为“什么是圆”。现在我使用的是200x200矩阵,圆的大小需要位于中心,并且可以调整大小和厚度。我计划在循环矩阵上进行元素乘法(就像你写的那样),但是这是一项繁琐的工作,而且是不可调整的循环。