Ловить предупреждения в функции skimage.img_as_uint - PullRequest
0 голосов
/ 17 февраля 2020

Я пробовал оба warnings.catch_warnings () и входной параметр force_copy, оба не смогли перехватить предупреждения преобразования

import numpy as np
import skimage
import warnings

mm = np.ones([55,55],dtype=np.float32)
with warnings.catch_warnings():
     dd = skimage.img_as_uint(mm,force_copy=True)

дает

XXX/lib/python2.7/site-packages/skimage/util/dtype.py:130: UserWarning: Possible precision loss
when converting from float32 to uint16.format(dtypeobj_in, dtypeobj_out))

1 Ответ

0 голосов
/ 18 февраля 2020

Вам необходимо добавить строку, warnings.simplefilter('ignore'):

import numpy as np
import skimage
import warnings

mm = np.ones([55,55],dtype=np.float32)
with warnings.catch_warnings():
    warnings.simplefilter('ignore')
    dd = skimage.img_as_uint(mm,force_copy=True)

См. Документацию Python для "временного подавления предупреждений" для получения дополнительной информации.

...