measure
skimage.measure.approximate_polygon(coords,...)
近似具有指定公差的多边形链。
skimage.measure.block_reduce(image,block_size)
通过对局部块应用函数来下采样图像。
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.compare_ssim(X,Y,...)
计算两幅图像之间的平均结构相似性指数。
skimage.measure.correct_mesh_orientation(...)
网格面的正确方向。
skimage.measure.find_contours(数组,级别)
对于给定的水平值,在二维数组中找到等值的轮廓。
skimage.measure.grid_points_in_poly(shape,verts)
测试指定网格上的点是否在多边形内。
skimage.measure.label(输入,邻居,...)
标记整数数组的连接区域。
skimage.measure.marching_cubes(volume,...)
Lewiner推进立方体算法来查找3D体积数据中的曲面。
skimage.measure.marching_cubes_classic(体积)
经典的游动立方体算法,用于查找3D体积数据中的曲面。
skimage.measure.marching_cubes_lewiner(体积)
marching_cubes()的别名。
skimage.measure.mesh_surface_area(verts,faces)
计算表面积,给定顶点和三角形面
skimage.measure.moments(图片,订单)
计算所有原始图像时刻达到一定的顺序。
skimage.measure.moments_central(image,cr,cc)
计算所有的中心图像时刻达到一定的顺序。
skimage.measure.moments_hu(NU)
计算胡的一组图像时刻。
skimage.measure.moments_normalized(mu,order)
计算所有归一化的中心图像时刻,达到一定的顺序。
skimage.measure.perimeter(图片,邻居)
计算二进制图像中所有对象的总周长。
skimage.measure.points_in_poly(点,垂直)
测试点是否位于多边形内。
skimage.measure.profile_line(img,src,dst)
返回沿扫描线测量的图像的强度分布。
skimage.measure.ransac(data,model_class,...)
使用RANSAC(随机样本一致性)算法将模型拟合到数据。
skimage.measure.regionprops(label_image,...)
测量标记的图像区域的属性。
skimage.measure.shannon_entropy(image,base)
计算图像的香农熵。
skimage.measure.structural_similarity(X,Y)
弃用功能。改用compare_ssim。
skimage.measure.subdivide_polygon(coords,...)
使用B样条对多边形曲线进行细分。
skimage.measure.CircleModel()
2D圆圈的总体最小二乘估计量。
skimage.measure.EllipseModel()
2D椭圆的总体最小二乘估计量。
skimage.measure.LineModel()
2D线的总最小二乘估计量。
skimage.measure.LineModelND()
N维线的总体最小二乘估计量。
skimage.measure.block
skimage.measure.entropy
skimage.measure.fit
skimage.measure.pnpoly
skimage.measure.profile
skimage.measure.simple_metrics
approximate_polygon
skimage.measure.approximate_polygon(coords, tolerance)[资源]
近似具有指定公差的多边形链。
它基于Douglas-Peucker算法。
请注意,近似的多边形总是在原始多边形的凸包内。
参数:
坐标:(N,2)阵列坐标数组。tolerance:float从多边形原始点到近似多边形链的最大距离。如果公差为0,则返回原始坐标数组。
返回:
坐标:(M,2)阵列近似多边形链,其中M <= N.
参考
R329
http://en.wikipedia.org/wiki/Ramer-Douglas-Peucker_algorithm
block_reduce
skimage.measure.block_reduce(image, block_size, func=, cval=0)[资源]
通过对局部块应用函数来下采样图像。
参数:
image:ndarray N维输入图像。block_size:array_like包含沿每个轴下采样整数因子的数组。func:可调用函数对象,用于计算每个本地块的返回值。该函数必须实现一个轴参数,如numpy.sum或numpy.min。cval:float如果图像不能完全被块大小整除,则为常量填充值。
返回:
image:与输入图像具有相同维数的下采样图像。
例子
>>> from skimage.measure import block_reduce
>>> image = np.arange(3*3*4).reshape(3, 3, 4)
>>> image
array([[[ 0, 1, 2, 3],
[ 4, 5, 6, 7],
[ 8, 9, 10, 11]],
[[12, 13, 14, 15],
[16, 17, 18, 19],
[20, 21, 22, 23]],
[[24, 25, 26, 27],
[28, 29, 30, 31],
[32, 33, 34, 35]]])
>>> block_reduce(image, block_size=(3, 3, 1), func=np.mean)
array([[[ 16., 17., 18., 19.]]])
>>> image_max1 = block_reduce(image, block_size=(1, 3, 4), func=np.max)
>>> image_max1
array([[[11]],
[[23]],
[[35]]])
>>> image_max2 = block_reduce(image, block_size=(3, 1, 4), func=np.max)
>>> image_max2
array([[[27],
[31],
[35]]])
compare_mse
skimage.measure.compare_mse(im1, im2)[资源]
计算两幅图像之间的均方差。
参数:
im1,im2:ndarray图片。任何维度。
返回:
mse:float均方误差(MSE)度量。
compare_nrmse
skimage.measure.compare_nrmse(im_true, im_test, norm_type='Euclidean')[资源]
计算两幅图像之间的归一化均方根误差(NRMSE)。
参数:
im_true:ndarray地面真相图像。im_test:ndarray测试图像。norm_type:{'Euclidean','min-max','mean'}控制用于NRMSE分母的标准化方法。文献R330没有标准化的标准化方法。这里提供的方法如下:'欧几里德':用im_true的欧几里德规范进行归一化。'min-max':通过im_true的强度范围进行归一化。'mean':通过im_true的均值来标准化。
返回:
nrmse:float NRMSE度量标准。
'欧几里得':按欧几里得规范归一化im_true。
'min-max':按照强度范围进行归一化im_true。
'mean':用.im_true的均值标准化
Returns: **nrmse** : float
NRMSE度量。
参考
R330
(1, 2) https://en.wikipedia.org/wiki/Root-mean-square_deviation
compare_psnr
skimage.measure.compare_psnr(im_true, im_test, data_range=None, dynamic_range=None)[资源]
计算图像的峰值信噪比(PSNR)。
参数:
im_true:ndarray地面真相图像。im_test:ndarray测试图像。data_range:int输入图像的数据范围(最小和最大可能值之间的距离)。默认情况下,这是从图像数据类型估计的。
返回:
psnr:float PSNR指标。
参考
compare_ssim
skimage.measure.compare_ssim(X, Y, win_size=None, gradient=False, data_range=None, multichannel=False, gaussian_weights=False, full=False, dynamic_range=None, **kwargs)[资源]
计算两幅图像之间的平均结构相似性指数。
参数:
X,Y:ndarray图片。任何维度。win_size:int或None用于比较的滑动窗口的边长。必须是奇数值。如果gaussian_weights为True,则忽略它,窗口大小将取决于西格玛。渐变:布尔,可选如果为True,也会返回渐变。data_range:int,可选输入图像的数据范围(最小和最大可能值之间的距离)。默认情况下,这是从图像数据类型估计的。多通道:bool,可选如果为True,则将数组的最后一个维度视为通道。相似性计算是针对每个通道独立完成的,然后进行平均。gaussian_weights:bool,可选如果为True,则每个补丁均具有由宽度为sigma = 1.5的归一化高斯内核进行空间加权的均值和方差。full:bool,可选如果为True,
返回:
mssim:float图像上的平均结构相似度。grad:ndarray X和Y R333之间的结构相似性指数的梯度。这仅在梯度设置为True时才会返回。S:ndarray完整的SSIM图像。这仅在full设置为True时才会返回。
| 其他参数:|
| | use_sample_covariance:bool如果为真,用N-1归一化协方差而不是N,其中N是滑动窗口内的像素数。K1:浮点算法参数,K1(小常量,参见R332)K2:浮点算法参数,K2(小常量,参见R332)sigma:当gaussian_weights为真时为高斯浮点数。|
注意
为了配合Wang等的实施。[R332],将gaussian_weights设置为True,将sigma设置为1.5,并将use_sample_covariance设置为False。
参考
R332
(1,2,3,4)Wang,Z.,Bovik,AC,Sheikh,HR和Simoncelli,EP(2004)。图像质量评估:从错误可见性到结构相似性。IEEE Transactions on Image Processing,13,600-612。https://ece.uwaterloo.ca/~z70wang/publications/ssim.pdf,DOI:10.1.1.11.2477
R333
(1,2)Avanaki,AN(2009)。准确的全局直方图规范针对结构相似性进行了优化 Optical Review,16,613-621。http://arxiv.org/abs/0901.0065,DOI:10.1007 / s10043-009-0119-z
correct_mesh_orientation
skimage.measure.correct_mesh_orientation(volume, verts, faces, spacing=(1.0, 1.0, 1.0), gradient_direction='descent')[资源]
网格面的正确方向。
参数:
体积:(M,N,P)双精度数组输入数据体积以查找等值面。将转换为np.float64。verts:(V,3)浮点数组包含V唯一网格顶点的(x,y,z)坐标的数组。faces:(F,3)ints的数组列表的长度为3的整数列表,引用在vert中提供的顶点坐标。间距:长度为3的浮点数元素体积空间中的体素间距对应于体积中的numpy阵列索引尺寸(M,N,P)。gradient_direction:string控制网格是从等值面生成的,梯度下降到感兴趣的对象(默认值),或者相反。这两个选项是:*下降:对象比外部大*上升:外部大于对象
返回:
faces_corrected(F,3)ints数组更正verts中引用顶点坐标的面的列表。
扩展内容
skimage.measure.marching_cubes_classic, skimage.measure.mesh_surface_area
注意
某些应用程序和网格处理算法要求所有面都以一致的方式进行定向。通常,这意味着法线向量指出网格形状的“出”。该算法skimage.measure.marching_cubes_classic通过翻转面向错误的面的方向来校正输出。
由于步进立方体可以用于在梯度下降(其中所需物体具有比外部更大的值)或上升(其中期望物体具有比外部更低的值)处找到等值面,gradient_directionkwarg允许用户通知该算法,其中是正确的。如果生成的网格看上去完全不正确,请尝试更改此选项。
这个函数期望的参数是来自的确切输出skimage.measure.marching_cubes_cla