从Dlib CNN中提取图像

时间:2018-05-08 09:37:41

标签: c++ convolution dlib tensor convolutional-neural-network

我正在用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中将张量转换为2D数组?

1 个答案:

答案 0 :(得分: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个特征图,则绘制图像是没有意义的。