Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 我怎样才能得到一条完整的中轴线,它的垂直线穿过它?_Image Processing_Opencv_Computer Vision_Scipy_Scikit Image - Fatal编程技术网

Image processing 我怎样才能得到一条完整的中轴线,它的垂直线穿过它?

Image processing 我怎样才能得到一条完整的中轴线,它的垂直线穿过它?,image-processing,opencv,computer-vision,scipy,scikit-image,Image Processing,Opencv,Computer Vision,Scipy,Scikit Image,我有一个图像,我想得到穿过其中轴的像素。 我尝试使用骨骼化和中轴方法来获得它们,但这两种方法都返回比相应对象短的一维线 下面是带有示例图像的代码:- >>> import skimage.filter >>> import skimage.morphology >>> import numpy as np >>> import scipy.misc >>> im=scipy.misc.imrea

我有一个图像,我想得到穿过其中轴的像素。 我尝试使用骨骼化和中轴方法来获得它们,但这两种方法都返回比相应对象短的一维线

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

>>> 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  
原始>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>结果

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

  • 我需要任何能做这件事的python库

谢谢

我觉得你的问题有点不合适。你有两个问题,但我会回答第二个

要绘制与中轴垂直的线。问题是中轴不一定是直线,它通常是弯曲的

最好的办法是从中轴上取两个彼此接近的采样点。这两点定义了一条线。然后可以计算这两点的垂直平分线