0

我正在用 C++ 实现一个带有 Dlib(19.4) 的 CNN。我的目标是可视化卷积。

我的代码是:

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 处理的图像?如何在 Dlib 中将张量转换为二维数组?

4

1 回答 1

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 个特征图,则绘制图像是没有意义的。

于 2018-05-08T11:45:21.793 回答