Single兔兔 2022-08-04 11:44 采纳率: 66.7%
浏览 11
已结题

在mask转为rle编码时,runs会变为长度为奇数的原因可能是什么呢?

在mask转为rle编码时,runs会变为长度为奇数的原因可能是什么呢?

mask(img) 是01二维矩阵
def rle_encode(img):
    pixels = img.T.flatten()
    pixels[0] = 0
    pixels[-1] = 0
    runs = np.where(pixels[1:] != pixels[:-1])[0] + 2
    #  print(runs.shape) should be even, but i got an odd sometimes
#     if runs.shape[0]%2!=0:
#         runs = runs[:-1]
    runs[1::2] -= runs[::2]
    
    return ' '.join(str(x) for x in runs)
导致后续runs[1::2] -= runs[::2] 无法广播
注释掉的内容是我的补救方法
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 8月12日
    • 创建了问题 8月4日