scipy.misc.toimage(gt_full * 255, high=255, low=0, cmin=0, cmax=255).save( os.path.join(result_dir, 'final/%5d_00_%d_gt.png' % (test_id, ratio)))改写成ndimage.imsave
时间: 2024-03-09 10:50:30 浏览: 9
是的,您可以将以下代码:
```
scipy.misc.toimage(gt_full * 255, high=255, low=0, cmin=0, cmax=255).save(os.path.join(result_dir, 'final/%5d_00_%d_gt.png' % (test_id, ratio)))
```
替换为以下代码:
```
from scipy import ndimage
ndimage.imsave(os.path.join(result_dir, 'final/%5d_00_%d_gt.png' % (test_id, ratio)), (gt_full * 255).astype('uint8'))
```
这应该能够解决您遇到的问题。`ndimage.imsave()`函数需要将图像的值转换为整数,并将数据类型设置为`uint8`。
相关问题
File "test_Sony_paddle.py", line 184, in <module> scipy.misc.toimage(gt_full * 255, high=255, low=0, cmin=0, cmax=255).save( AttributeError: module 'scipy' has no attribute 'misc'
`scipy.misc`模块已经在Scipy 1.3.0版本中弃用,因此在新版本的Scipy中,您将无法使用`scipy.misc`模块。相反,您可以使用`scipy.ndimage`模块中的函数来执行类似的操作。例如,您可以使用`scipy.ndimage.imread()`和`scipy.ndimage.imsave()`函数来读取和保存图像。
在您的代码中,您可以将以下代码:
```
scipy.misc.toimage(gt_full * 255, high=255, low=0, cmin=0, cmax=255).save(gt_path)
```
替换为以下代码:
```
from scipy import ndimage
ndimage.imsave(gt_path, gt_full * 255)
```
这应该能够解决您遇到的问题。
scipy.misc.toimage(gt_full * 255, high=255, low=0, cmin=0, cmax=255).save( os.path.join(result_dir, 'final/%5d_00_%d_gt.png' % (test_id, ratio)))
`scipy.misc` 模块已经在 Scipy 1.3.0 版本中弃用,因此在新版本的 Scipy 中,您将无法使用 `scipy.misc` 模块。相反,您可以使用 `PIL` 模块或 `imageio` 模块中的函数来执行类似的操作。
在您的代码中,您可以将以下代码:
```
scipy.misc.toimage(gt_full * 255, high=255, low=0, cmin=0, cmax=255).save(os.path.join(result_dir, 'final/%5d_00_%d_gt.png' % (test_id, ratio)))
```
替换为以下代码:
```
from PIL import Image
import numpy as np
im = Image.fromarray(np.uint8(gt_full * 255))
im.save(os.path.join(result_dir, 'final/%5d_00_%d_gt.png' % (test_id, ratio)))
```
或者使用 `imageio` 模块:
```
import imageio
imageio.imwrite(os.path.join(result_dir, 'final/%5d_00_%d_gt.png' % (test_id, ratio)), (gt_full * 255).astype('uint8'))
```
这应该能够解决您遇到的问题。