Извлечь изображение из Dlib CNN

Я реализую CNN с Dlib (19.4) в C ++.
Моя цель — визуализировать свертку.

Мой код:

using my_net_type = con<3, 5, 5, 5, 5, input<array2d<rgb_pixel>>>;
my_net_type net;
array2d<rgb_pixel> img;
array2d<rgb_pixel> out_img;
load_image(img, "my_image.bmp");
out_img = net(img) // gives some type error can't convert dlib::tensor to array ..
image_window my_window(out_img, "Convolved Image");
my_window.wait_until_closed();

Как извлечь изображение, обработанное CNN?
Как мне преобразовать тензор в 2D массив в Dlib?

0

Решение

Обнаружил решение.
Путем преобразования тензора в матрицу.

load_image(img, "my_image.bmp");
long n_rows, n_columns;
n_rows = net(img).nr();
n_columns = net(img).nc();
image_window my_window(mat(net(img),n_rows,n_columns), "Convolved Image");

Примечание. Построение изображения не имеет смысла, если имеется более 3 карт объектов.

0

Другие решения

Других решений пока нет …