我目前正在一个需要使用error: invalid use of non-static data member ‘MyNAMESPACE::Engine::size’
的项目中,但是需要将输入图像从yolo3_mobilenet1.0_coco
格式转换为(300,300,3)
,{ {1}},但是在(1,3,300,300)
类中有一些特定的函数作为im.resize((1,3,300,300))
,但是它们都以gluoncv
作为输入参数,但是我想传递具有原始图像作为输入的变量。>
有没有能让我做到的功能。因为它一定是我将要传递的变量,因为我不会获取图像文件名。
我已经尝试过
data.transforms.presets.ssd.load_test("string_containing_image_file name", short=512)
其中"string of image file name"
是x, img = data.transforms.presets.ssd.load_test(im_fname, short=512)
格式的图像的文件名。
但是我无法传递文件名,因为图像将从im_fname
进入预处理功能,在该功能中将使用此yolo网络。
答案 0 :(得分:0)
使用numpy
,您可以使用以下代码将图像从最后一个频道更改为第一个频道:
import numpy as np
img = np.random.randn(300, 300, 3) # creating random image
print(img.shape) #Out: (300, 300, 3)
img_channel_first = np.moveaxis(img, -1, 0)
print(img_channel_first.shape) #Out: (3, 300, 300)
img_in = img_channel_first[np.newaxis,:]
print(img_in.shape) #Out: (1, 3, 300, 300)