AssertionError:图像必须是RGB 224x224((224,224,4))

时间:2019-07-09 01:07:17

标签: python opencv computer-vision

我正在尝试运行一个开放源代码的推理代码来预测给定Polygon-RNN++的边界框的多边形

我试图在自己的图像上运行,而我已经将其裁剪为(224,224),但是仍然出现这样的断言错误。

df=pd.DataFrame()
df['y']=["['chicken']"]
df['x']=["['fast food', 'american']"]
df.applymap(type)
Out[295]: 
               y              x
0  <class 'str'>  <class 'str'>


df.x = df.x.apply(ast.literal_eval)
df.y = df.y.apply(ast.literal_eval)
df.applymap(type)
Out[297]: 
                y               x
0  <class 'list'>  <class 'list'>

我的图像是普通的RGB图像,为什么形状为(224,224,4),如何将其重塑为(224,224,3)?

1 个答案:

答案 0 :(得分:2)

由于有四个通道,因此您的源图像采用RGBA格式,其中最后一个通道是Alpha /透明度通道。您可以切片数组以隔离RGB个通道

remove_alpha_from_image = image[:,:,:3]

另一种方法是这样

remove_alpha_from_image = cv2.cvtColor(image, cv2.COLOR_RGBA2RGB)