第三层卷积:
cout<<"第三层卷积..."<<endl;
// 第三层卷积:卷积核尺寸5×5(f3×f3),卷积核数目1(n3),输出1张特征图即为最终重建高分辨率图像。
//conv3_data = zeros(hei, wid);
卷积矩阵 conv3_data (wid,hei);
for(int i = 0;i<32;i++)
{
//conv3_subfilter = reshape(weights_conv3(i,:), conv3_patchsize, conv3_patchsize);
卷积矩阵 conv3_subfilter(5,5);
转换卷积核(&sr,&conv3_subfilter,3,i);
//保存32个卷积核
//sprintf(txt, "conv3_filter%d.txt", i);
//save_卷积矩阵 (txt,&conv3_subfilter);
卷积矩阵 conv3_temp (wid,hei);
//conv3_data(:,:) = conv3_data(:,:) + imfilter(conv2_data(:,:,i), conv3_subfilter, 'same', 'replicate');
//Conv2(conv3_subfilter.data, conv2_data[i], conv3_temp.data, conv3_subfilter.width, conv3_subfilter.height, im_b.width,im_b.height) ;
卷积(&conv3_subfilter,&conv2_data[i],&conv3_temp);
第三层运算(&conv3_data,&conv3_temp);//特征图迭加
//保存32张特征图
im_tt=卷积矩阵2im(&conv3_temp);
sprintf(txt, "conv3_temp_0%d.jpg", i);
saveimage(txt, &im_tt);
cout<<i<<endl;
}//end
看一下32张特征图:
好象也不怎么样,看一下迭加图
//保存32次迭加图
im_tt=卷积矩阵2im(&conv3_data);
sprintf(txt, "conv3_data_0%d.jpg", i);
saveimage(txt, &im_tt);
最后一张就是输出图了,和原图比一下:
已经比原图清晰多了,由于这里输入和输出是一样大小的图,再把重建图再输入会怎么样呢?
好象也有效果,只是有点过了
第三层完成。
实际上全部已经结束。
后续应该是加上颜色,和边界改进吧