使用skimage报错ImportError: cannot import name '_validate_lengths'

找到E:\Anaconda\Lib\site-packages\skimage\util\arraycrop.py

 

将from numpy.lib.arraypad import _validate_lengths这一行注释掉

在def crop(ar, crop_width, copy=False, order='K'):函数上面一行加入下面的函数:
 

 


def _validate_lengths(narray, number_elements):

    """

    Private function which does some checks and reformats pad_width and

    stat_length using _normalize_shape.

 

    Parameters

    ----------

    narray : ndarray

        Input ndarray

    number_elements : {sequence, int}, optional

        The width of padding (pad_width) or the number of elements on the edge

        of the narray used for statistics (stat_length).

        ((before_1, after_1), ... (before_N, after_N)) unique number of

        elements for each axis.

        ((before, after),) yields same before and after constants for each

        axis.

        (constant,) or int is a shortcut for before = after = constant for all

        axes.

 

    Returns

    -------

    _validate_lengths : tuple of tuples

        int                               => ((int, int), (int, int), ...)

        [[int1, int2], [int3, int4], ...] => ((int1, int2), (int3, int4), ...)

        ((int1, int2), (int3, int4), ...) => no change

        [[int1, int2], ]                  => ((int1, int2), (int1, int2), ...)

        ((int1, int2), )                  => ((int1, int2), (int1, int2), ...)

        [[int ,     ], ]                  => ((int, int), (int, int), ...)

        ((int ,     ), )                  => ((int, int), (int, int), ...)

 

    """

    normshp = _normalize_shape(narray, number_elements)

    for i in normshp:

        chk = [1 if x is None else x for x in i]

        chk = [1 if x >= 0 else -1 for x in chk]

        if (chk[0] < 0) or (chk[1] < 0):

            fmt = "%s cannot contain negative values."

            raise ValueError(fmt % (number_elements,))

    return normshp

 

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值