我正在用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数组?
答案 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个特征图,则绘制图像是没有意义的。