图像特征检测与大型结构元素

2024-09-27 04:22:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从图像中提取一些特征,但是每个提取的特征都非常小。提取更大特征的最简单方法似乎是使用更大的结构元素,但是当ITER > 1时,以下代码将失败。在

from scipy import ndimage,misc
lena=misc.lena().astype(float64)
lena/=ndimage.maximum(lena)
lena=lena>0.54# convert to binary image
       #   =====================  
ITER=1 # || FAILS WHEN ITER > 1 ||
       #   =====================
struct=ndimage.generate_binary_structure(2,1)
struct=ndimage.iterate_structure(struct,ITER)
lena_label,n =ndimage.label(lena,struct)
slices=ndimage.find_objects(lena_label)
images=[lena[sl] for sl in slices]
imshow(images[0])

一。在

^{pr2}$

Tags: 方法图像特征structure结构labelstructmisc
1条回答
网友
1楼 · 发布于 2024-09-27 04:22:45

ndimage.label函数的参数structure用于确定输入的连接性。当您将输入表示为一个矩形矩阵时,这种连通性通常考虑点p周围的4个或8个邻居。Scipy遵循此约定,并将可接受的结构限制在这种情况下,因此,当任何大于3x3的内容传递给函数时,它会引发错误。在

如果你真的想这么做,首先你需要非常清楚地定义你试图描述的连接。然后你需要实现它。更简单的方法是先放大输入,然后标记它。这将有效地为较大的特性提供标记为更大的structure参数。在

相关问题 更多 >

    热门问题