【发布时间】:2023-04-02 12:16:01
【问题描述】:
temp_image 为 (600, 600, 3),取值范围为 0 到 1。
def pro_process(temp_img, input_size):
img = np.asarray(temp_img).astype('float32')
img = np.array(Image.fromarray(img).resize((input_size, input_size)).convert(3))
return img
它给出了以下错误:
Traceback (most recent call last):
File "S:\Program Files\Python36\lib\site-packages\PIL\Image.py", line 2681, in fromarray
mode, rawmode = _fromarray_typemap[typekey]
KeyError: ((1, 1, 3), '<f4')
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "H:\OneDrive\synchronization code\Developing collection\Python\MNet_DeepCDR-master\mnet_deep_cdr_ide\run\Step_3_MNet_test.py", line 56, in <module>
temp_img = pro_process(Disc_flat, CDRSeg_size)
File "S:\Program Files\Python36\lib\site-packages\mnet_deep_cdr\mnet_utils.py", line 18, in pro_process
img = np.array(Image.fromarray(img).resize((input_size, input_size)).convert(3))
File "S:\Program Files\Python36\lib\site-packages\PIL\Image.py", line 2683, in fromarray
raise TypeError("Cannot handle this data type: %s, %s" % typekey)
TypeError: Cannot handle this data type: (1, 1, 3), <f4
项目链接:https://github.com/HzFu/MNet_DeepCDR
什么是错误以及如何解决?
根据这个链接:PIL TypeError: Cannot handle this data type我已经更新了我的代码,但是还是有错误
def pro_process(temp_img, input_size):
print(temp_img.shape)
img = np.asarray(temp_img).astype('float32')
img = np.array(Image.fromarray((img * 255).astype(np.uint8)).resize((input_size, input_size)).convert(3))
return img
错误:
Traceback (most recent call last):
File "H:\OneDrive\synchronization code\Developing collection\Python\MNet_DeepCDR-master\mnet_deep_cdr_ide\run\Step_3_MNet_test.py", line 56, in <module>
temp_img = pro_process(Disc_flat, CDRSeg_size)
File "S:\Program Files\Python36\lib\site-packages\mnet_deep_cdr\mnet_utils.py", line 18, in pro_process
img = np.array(Image.fromarray((img * 255).astype(np.uint8)).resize((input_size, input_size)).convert(3))
File "S:\Program Files\Python36\lib\site-packages\PIL\Image.py", line 995, in convert
im = self.im.convert(mode, dither)
TypeError: argument 1 must be str, not int
【问题讨论】:
-
请不要分享代码图片,而是分享它的示例