Skimage库-measure--保留三维数据中的最大连通域

Measure的英文学习链接:http://scikit-image.org/docs/dev/api/skimage.measure.html

1、Measure中所有的函数功能做一个简单的介绍:

skimage.measure.find_contours(array, level)

对于给定的级别值,在2D数组中查找等值轮廓。

skimage.measure.regionprops(label_image[, …])

测量标记图像区域的属性。

skimage.measure.perimeter(image[, neighbourhood])

计算二进制图像中所有对象的总周长。

skimage.measure.approximate_polygon(coords, …)

近似具有指定公差的多边形链。

skimage.measure.subdivide_polygon(coords[, …])

使用B样条细分多边形曲线。

skimage.measure.ransac(data, model_class, …)

使用RANSAC(随机样本共识)算法使模型适合数据。

skimage.measure.block_reduce(image, block_size)

通过将函数应用于本地块来下采样图像。

skimage.measure.moments(image[, order])

计算所有原始图像时刻,直到某个顺序。

skimage.measure.moments_central(image[, …])

计算直到某个顺序的所有中心图像矩。

skimage.measure.moments_coords(coords[, order])

计算所有原始图像时刻,直到某个顺序。

skimage.measure.moments_coords_central(coords)

计算直到某个顺序的所有中心图像矩。

skimage.measure.moments_normalized(mu[, order])

计算所有归一化的中心图像矩,直到某个顺序。

skimage.measure.moments_hu(nu)

计算Hu的图像矩集(仅限2D)。

skimage.measure.marching_cubes_lewiner(volume)

Lewiner行进立方体算法在3d体积数据中找到表面。

skimage.measure.marching_cubes_classic(volume)

经典行进立方体算法,用于在3d体积数据中查找曲面。

skimage.measure.mesh_surface_area(verts, faces)

计算表面积,给定顶点和三角形面

skimage.measure.correct_mesh_orientation(…)

网格面的正确方向。

skimage.measure.profile_line(image, src, dst)

返回沿扫描线测量的图像的强度分布。

skimage.measure.label(input[, neighbors, …])

标记整数数组的连接区域。

skimage.measure.points_in_poly(points, verts)

测试点是否位于多边形内。

skimage.measure.grid_points_in_poly(shape, verts)

测试指定网格上的点是否在多边形内。

skimage.measure.compare_ssim(X, Y[, …])

计算两个图像之间的平均结构相似性指数。

skimage.measure.compare_mse(im1, im2)

计算两个图像之间的均方误差。

skimage.measure.compare_nrmse(im_true, im_test)

计算两个图像之间的归一化均方根误差(NRMSE)。

skimage.measure.compare_psnr(im_true, im_test)

计算图像的峰值信噪比(PSNR)。

skimage.measure.shannon_entropy(image[, base])

计算图像的香农熵。

skimage.measure.LineModelND()

N维线的总最小二乘估计。

skimage.measure.CircleModel()

2D圆的总最小二乘估计。

skimage.measure.EllipseModel()

2D椭圆的总最小二乘估计。

2、重点介绍:skimage.measure.label

  • 功能描述:实现连通区域标记。
  • 函数调用形式:skimage.measure.label(input, neighbors = None, background = None, return_num = False, connectivity = None)
  • 参数描述:
  1. input : Image to label 需要被标记的图片,输入的数据结构不作要求
  2. neighbors : 这个参数将被移除,被下面的connectivity替代。可以忽略不看
  3. background : 选择背景像素,指定像素作为背景,全部相同像素标记为0
  4. return_num : 是一个bool值,如果为True的话返回值是一个元组(labels ,num );如果为False的话就只返回labels
  5. connectivity : Maximum number of orthogonal hops to consider a pixel/voxel as a neighbor. Accepted values are ranging from 1 to input.ndim. If None, a full connectivity of input.ndim is used. [int, optional]。如果input是一个二维的图片,那么connectivity的值范围选择{1,2},如果是None则默认是取最高的值,对于二维来说,当connectivity=1时代表4连通,当connectivity=2时代表8连通.
  • Returns:
  1. labels : 和input形状一样,但是数值是标记号,所以这是一个已经标记的图片
  2. num : 标记的种类数,如果输出0则只有背景,如果输出2则有两个种类或者说是连通域

3、Skimage.measure.regionprops

  • 功能描述:测量标记图像区域的属性。
  • 函数调用形式:skimage.measure.regionprops(label_image, intensity_image=None, cache=True, coordinates=None)
  • 参数描述:
  1. label_image:(N,M)ndarray,标记输入图像;
  2. intensity_image : (N, M) ndarray,可选参数,具有与标记图像相同大小的强度(即输入)图像,默认值为“None”;
  3. cache:bool,可选参数,确定是否缓存计算的属性。对于缓存属性,计算速度要快得多,而内存消耗则会增加;
  4. coordinates:’rc'或’xy‘,可选参数,协调2D图像的约定。(3D图像仅支持’rc‘坐标)
  • Return:
  1. region:是一种列表的形式,每个连通域的标记区域。

使用范例:

Skimage库-measure--保留三维数据中的最大连通域_第1张图片

你可能感兴趣的:(Python,Python基础,图像处理)