【问题标题】:How can I get a full medial-axis line with its perpendicular lines crossing it?我怎样才能得到一条完整的中间轴线,它的垂直线穿过它?
【发布时间】:2012-11-04 15:21:45
【问题描述】:

我有一张图像,我想获得穿过其中轴的像素。 我尝试使用 skeletonizemedial axis 方法来获取它们,但是这两种方法都返回比相应对象短的一维线。

这是带有示例图像的代码:-

>>> import skimage.filter  
>>> import skimage.morphology  
>>> import numpy as np  
>>> import scipy.misc
>>> im=scipy.misc.imread('img.jpg')   
>>> thr=skimage.filter.threshold_otsu(im)  
>>> im=im > thr # Threshold the image  
>>> im_sk=skimage.morphology.skeletonize(im)  
>>> mask=np.where(im_sk==1)     # pixels of skeleton  
>>> im[mask]= 0                 # this will color the skeleton with black  

原文>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>结果
or_im http://imageshack.us/a/img23/9035/testwus.jpgsk_im http://imageshack.us/a/img585/1910/imgskx.jpg

如您所见,黑线未连接到形状的尖端。
(1) 如何获得代表图像中形状长度的全连接一维中轴线。
(2)如何获得垂直于中轴的像素(因为我想从一侧到另一侧绘制垂直线穿过形状的中轴)

  • 我需要任何可以执行此操作的 python 库。

谢谢

【问题讨论】:

    标签: image-processing opencv computer-vision scipy scikit-image


    【解决方案1】:

    我认为你的问题有点不当。你有两个问题,但我会回答第二个问题。

    您想绘制垂直于中轴的线。问题在于中轴不一定是一条线,它通常是弯曲的。

    最好的办法是从中间轴取 2 个彼此靠近的样本点。这两点定义了一条线。然后,您可以计算这两个点的垂直平分线。

    【讨论】:

      猜你喜欢
      • 2023-02-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 2014-04-15
      • 2023-02-10
      • 1970-01-01
      • 2015-03-13
      相关资源
      最近更新 更多